Another one of those errors which drives a developer crazy.
One of the reasons it could be occurring is because your site is running under an AppPool which is unable to start because of reasons like wrong identity etc.
The problem is that it is very difficult to catch this since the site seems to be up and running in IIS 7 management console.
Once you reach the place where all the App Pools would be listed you might see that the App Pool is not yet started and hence the problem. There's no way that the Management Console would give you a hint as to what might be going on. At least on the Console it looks like everything is up and running fine.
So next time you see a Http Error 503 you can go and check the App Pool settings before doing anything else.
@IIS Console team :-It should be easy to figure this one out and display an error to administrator saying something is wrong with App Pool settings.