I think from a learning curve its best to write as much of your own stuff as possible. Once you get to a certain level, its a case of 'Why re-invent the wheel?'. If there are built in functions out there to cut down on your coding time, use them. Thats what they have been written for.
I don`t use it much myself, but PEAR has got all manner of useful functions.
The one that prompted me to look at this was the form handling function mentioned in another thread, as i've just created my own extensive form handing function (which works nicely but took me aaages to perfect).