You generally do a load test. There are tools from Microsoft for this with IIS
Stress tools to test your Web server
A couple reasons I can think of (Microsoft specific):
1. You upload an update that locks up your IIS worker process
2. You need to add a web extension/module that may affect your production site.
3. You need to restart IIS to refresh system variables for an update to take effect
4. Security, if you have both on the same system and your test server gets breached, your whole server is open game
5. Performance. If you upload a large site during heaving usage of your production site, you will notice a speed impact
The list can go on, but basically it's bad practice to have them on the same server. But still the fact is that it is done quite often in small/med size businesses.