Reattach vs Rebroadcast
Reattach: The process of reattaching a transaction is simply doing the proof of work and tip selection process to reattach the transaction to a different part of the Tangle. Reattach once every 30 minutes that a transaction remains pending, and then if still pending after 5 reattachments be sure to contact the sender to verify that the transaction wasn’t double spent.
Chances of confirmation are significantly increased with each reattachment
In the future, reattachments will all be "under the hood" within the wallet's functionality, and will never be noticed by the end user.
Rebroadcast: Rebroadcasting is basically sending the exact same transaction to all of your neighbors again. Most of the time, apart from a situation where you're sure that your neighbors didn't get your transactions, reattaching is more useful to get your transaction accepted by the network. Besides some edge cases, you don't need to ever use "rebroadcast".