Slow Internet connection:
This used to the major factor in the age of Dial-up internet connection. If you still use a modem and a telephone to connect to the Internet, then chances are it the reason for slow loading of the website. Practically this is not a common reason now a days.
Too much content on the Website:
There are few websites, which needs to display a lot of graphics, sounds, videos or flash file on the home page. All this leads to more time in loading of the homepage. Again, in the age of broadband and DSL, it is not the common factor to slow down a website.
Well if your system happens to have less memory (RAM) or a Spyware /Virus then it could also lead to painfully slow web experience. Having said that, if you have a Anti-Virus or Anti-Spyware installed then the chances are even this is not the reason.
Invalid HTML Code:
Invalid HTML ! what on earth does it have to do with the slow website ? As a matter of fact, HTML is the only medium, by which server tells your browser to display a web page. Lets take a classic example, you open any website on your browser:
Client takes 2 seconds to send request to the server.
Server responds back in 5 seconds.
Your browser takes 20 seconds to render the page.
What ? 20 seconds taken by the browser ??? But Why ? The reason is simple. HTML or xHTML is a collection of tags which tells your browser where to place and image, what color should be the text and so forth. But is there is some invalid HTML tags (eg unclosed tags ) then the browser is capable of debugging and fixings those invalid tags on its own. But, debugging takes a lot of time.