It really depends on your network/infrastructure set up.
Personally I always work this way. It allows the web server to be specificly configured for servering web pages and the database server to be configured specificalyl for running databases which gives you some nice performance increases.
You can configure your network so your database is only accessible from the web server, where as the web server needs to be accessible to the world, this allows your database to be more secure.