I spent part of last summer working for a company that did driveway sealing. They would have you convinced that their product is better than what you can buy in stores, but I'm not so sure that's true.
As long as you buy the airport grade sealer, or whatever it's called, I think you are getting the same product for about $50 as opposed to $200 or $300 to have someone do it for you.
Make sure you clean your driveway well before you do it and the driveway also has to be dry. Also if you have cracks in your driveway you will need to buy a good quality crack filler and apply that before the sealer.
I've seen driveways that were sealed the previous year by 'better quality companies' and they look to be in the same shape as any driveway that someone did themselves.
If money isn't an issue, the only advantage I can see to having someone come and do it for you is that they would probably spray it on where you would probably use some form of a paint roller to apply the sealer. That could lead to maintaining the driveway better. It will also be done faster by a company.
As for garages (I'm assuming indoor and also asphalt), it would probably be better to follow the same guidelines and do it yourself, because I imagine if you have someone come in and spray the sealer on, you will end up with the walls of you garage being covered in tar.