First of all, there can be a number of reasons for this symptom, so this is only one possibility. The specific symptom would be...
1) You've uploaded a site and it all seemed to transfer OK, yet you still see the under construction page.
2) Your site used to work, and now suddenly you see the under construction page.
3) You're updating a site, and yet you still see the old site displayed, even when you force a browser refresh.
On any website (any site, on any server, anywhere) there is a 'magic' file that is indicated to be the main page. In other words, if you specifically type ibm.com/laptops.htm or ibm.com/processors.asp - then you've asked and will see the 'laptops.htm' or the 'processors.asp' page that is on the ibm.com server.
However, if you just type 'www.ibm.com' then you'll get whatever page the ibm.com server has specified as the default 'magic' page. Normally, that's something like index.htm or default.asp or index.html or home.html or something like that - but it has to be specified in the server what this special master filename is, so that the server knows what to spit out. So, the confusion can come in when a site has both an index.htm and an index.html page - the server needs a list of priority to know what file to hand out.
So, the problem can be that there are conflicting master 'magic' files, for example both an index.htm and an index.html page in the directory. index.htm has priority over index.html, and as a result, that's the page (the default under construction page) that you see when you just land on the site and the server spits out it's default magic 'index.htm' file for you. If, however, you go to yoursite.com/index.html (with the L) then the site shows up as you intended - since your home page is named index.html instead of index.htm
So, the solution is simply to delete the index.htm that has priority over your index.html or default.htm or whatever you're using, and the sites will be there.
The other top suspect would be that you're not uploading the site inside the 'public_html' folder (Linux/Cpanel servers) and that the website content is sitting outside that special content directory - but that's a matter for another knowledgebase article. :)