How do I find out what application is trying to wake my MBP?
Macs will wake up in response to many hardware events. Changing a USB/Firewire/Thunderbolt cable or even plugging in / powering on a connected device will wake Macs that are sleeping. Keyboard presses, clamshell sensor detecting an open of the display lid will also wake up a sleeping Mac. These are pretty well known and obvious, even if you don't realize a pet or power fluctuation can cause a wake event.

Two software items will also wake a sleeping mac and both rely on the power management / system management controller. Both are seen in the Energy Saver preference pane. This is how applications can do the same thing as hardware and wake your mac.



For macs with a battery - the power adapter needs to be connected and powered for much of this to work. The Wake for network access is both the standard WakeOnLan (WOL) as well as Apple's Bonjour Sleep Proxy. I like the article About Wake on Demand that explains how Apple has extended the concept of WOL and made a service.

If you disable these two items - software can no longer wake your sleeping mac and you can know if it's a hardware event or a software event. The other answers go into how to look at the logs to know which event has made a specific wake up request. Hopefully this helps frame the bigger picture of how your mac can take a cat nap with one eye open.