The service broker is used to issue asynchronous commands to the SQL Server, or another applications.
I’ve used the SQL Service Broker to handle real time ETL from an OLTP loan origination system to it’s reporting database.
I currently use it to handle queuing of file deletion commands. Every record in several tables in my database has a physical file that goes with it. When the records are deleted, a trigger runs which sends a message to a service broker queue with the information about the file which needs to be deleted. A windows service running on an application server reads the service broker queue and deletes the files.
We also use the SQL Service Broker to handle the moving of data from the staging tables to the production tables. We have 4 application servers writing data into the staging tables. When the application servers are done writing the data into the tables, then send a service broker message with the GUIDs of the rows that they inserted. When the service broker receives the message it moves those rows into the production table, then deletes those rows from the staging tables.
MySpace.com uses the SQL Service Broker to handle friend requests between users.
There’s a bank in South America (Brazil I think) that uses the SQL Service Broker to queue the nightly batch processing kicking if off at midnight
Those are just a few examples of how the SQL Service Broker is being used.