How can I time-profile the page load for a Craft request? I would like to see how long plugins take to load, as well as other aspects of the page (loops and database requests). 

My webpage can take ~2-3 seconds to return the initial request. It seems high and I'd like to figure out how I can optimize it.

Also, as I understand it, every plugin is loaded on each request (even if it's not loaded for that page). Is this true? And if so, why is this the desired behavior? If a plugin is performing poorly it can bring the entire website to a standstill (this just happened to me: Website taking 30+ seconds to load).
If you enable devMode, then database profiling information (number of queries, SQL executed, execution time, etc.) as well as PHP script benchmarking information for the request will be output to your browser's console as well as the craft/storage/runtime/logs files.


  Also, as I understand it, every plugin is loaded on each request


Installed and enabled plugins are initialized on every request.  The only time what you are describing is a problem is if a plugin is doing some time/resource intensive operation in it's init() method, which is generally considered bad form.