A WCF service hosted in a working role will be essentially independent: from your OnStart () you must create a new ServiceHost () and go from there.
The WCF service hosted in a web role will use IIS to host the service as an svc, using the capabilities of IIS performance counters, caching, automatic activation, process recycling, etc.
Even more interesting: in the web role where you host your site, you can still start the self-service WCF service in the same way as in the working role. You just need to create another input endpoint on some other port (or an internal endpoint that only your Windows Azure web role / workstation instances can use in your deployment).
And another scenario: running a self-service, you are not limited to .net - run any executable file that knows how to listen to the port. This opens up possibilities for hosting the Java service host, python, etc.
source share