The WorkerRole you can consider it as a background services that runs on Windows Azure Data Centers, consuming its Servers processing power. Certainly the amount of the processing power is defined by the VM size in the Service Definition file. Let me try to approach the example: if you start your computer and you find it so slow, it is not necessary that your laptop has something wrong in it. it might means that you have a lot of background services that runs in the background without the need to have a user interface. If you are a developer you certainly knows that for example the SQL Server has some services that need to start on the start of the computer.
The same concept goes for the WorkerRoles, they run in the background they don’t have an interface and can run once triggered to forever. Certainly you can link them to your WebRole application.
So when to use the WorkerRole?
This is mainly designed for the applications that require a lot of processing power and you don’t want to make the application’s users feel that there are any delays or any processing power consumption from there side, or even a delay in a webpage loading. You can simply send the required task to the WorkerRole and when it finishes it, it will the result to the desired application.
If you develop a WebRole application with a WorkerRole, you don’t have to have similar number of instances for the worker and the web. The WorkerRole might process several WebRole requests. You might have several WorkerRoles to your WebRole, where each has a certain requests and process to do.