• If your SSRS server is querying the operational database (OLTP) directly then I would put them on different servers. SSRS will use the OLTP server to process queries but other resources for running the SSRS website and it's own database would take away resources from your production machine if they were on the same machine. Likewise keeping the SSRS machine as a client of the OLTP server just like any other client e.g. application users, keeps it independent in the case of server issues or required maintenance or upgrades.

    On the other hand if you have a datawarehouse and OLAP cubes then I like to put SSRS on the same machine, unless you are completely familiar with Kerberos or you are a security guru and have your own authentication solution. If you don't run Kerberos in your network then double hop is the biggest pain in the backside.