Sql Service broker BEGIN DIALOG CONVERSATION and SEND. Should they be in a transaction? I regularly see code that looks like this:

BEGIN TRANSACTION;
BEGIN DIALOG CONVERSATION @u....
SEND ...
COMMIT;


BOL for BEGIN DIALOG doesn't use the transaction handling in the examples and it doesn't mention transactions at all.

Are transactions needed?  If so why?
You are correct that the BEGIN DIALOG CONVERSATION does not specify using a TRANSACTION for starting a Service Broker dialog. But many developers use them as a standard practice.

For example, the 2008 R2 TechNet page Beginning a Conversation and Transmitting Messages seems to recommend BEGIN TRANSACTION and COMMIT TRANSACTION (or ROLLBACK) as a good practice.

This topic Configuring Service Broker for Asynchronous Processing also shows transactions being used. 

These multi-step examples that use transactions do so for the same reason transactions are used in other code.  Namely to ensure either a complete transaction or else a rollback to a consistent state.

Of course, you can decide if your Service Broker dialog is simple enough that you do not need a transaction. But that is up to you to decide.