mysql_connect() and mysql_pconnect() work sorta the same way. Both create a connection to the database using a given username/password. When they're called, both first try to find an idle open connection for that username/password to recycle. If an idle connection is found, that connection id is returned and a new connection isn't created. Otherwise, a new connection is opened and that id is returned.
Where they differ is in the persisting bit (duh!!🙂 As you suggested, a persistent connection does remain open and "hot" after a page load is finished. A normal connection automatically terminates at the end of the script execution (ie. when the html buffer is flushed to the browser). Subsequent page loads will try to reuse that existing connection if possible. Note that mysql_connect() cannot use connections opened with mysql_pconnect(), and vice versa.
Using persistent connections can have varied results, often from script to script on the same box. Sometimes it decreases server load, other times it increases it. The length which a connection persists is controlled by the database, not PHP, I believe MySQL's default persist time is 1 hour. So it's often easy to run into a situation where you have a large number of open, idle connections creating a drain on the server's resources. Your best bet is to try both connection types out, benchmarking your script execution times and server loads to figure out which is best for your situation. HTH.
-geoff