That's pretty much the gist of it.
There are quite a number of factors determining how fast a page will be downloaded and rendered by a web browser.
Some of these are:
- Bandwidth and latency of the server (site). Shared hosting and cheap dedicated hosting have a smaller 'pipe' and can sometimes be the bottleneck.
- Bandwidth and latency of the client (visitor)
- Server load. Busy websites take longer to process requests.
- Distance between server and client
- Whether the page is cached somewhere between the server and the client
- Number of DNS lookups required.
- Number of requests required to load the page. A page with 100 uncached images means 101 calls to the server for files.
- Size of the page.
- Pages with large <table> elements. The browser has to read the entire <table>...</table> content before being able to render it.
There are lots more factors. Some depend on all the hardware involved, others depend on what the content of the page is.
There have been a few 'epic' threads on WebmasterWorld that have covered ways to improve site speed, if I can find the links I'll post them. YSlow
[developer.yahoo.com] is a tool used to help people optimize for site speed. Having a look through that will give you a fair idea of the various aspects of keeping a site and its page loads as fast as possible.
Bear in mind that visitors and search spiders like Googlebot load pages differently. You may have heard that Google likes to consider 'site speed' as a small ranking factor, essentially they are just trying to rank sites in order of visitor experience, your first priority is the visitors and google only aims to mimic that.
In regards to you being the visitor:
- Have a good ISP!