A separate server for MySQL is useful for busy servers or servers with large databases. You can offload MySQL-related work to the remote MySQL server, letting the main serv host all of the web pages and letting the MySQL server onl worry about serving the database.
This enables busy shops with a large amount of admin users, epos and multi channel overhead still serve pages to your customers quickly whilst carrying out multiple and complex MySQL queries and operations.