Top Notification versus Central Notification

When talking about Notification Design I have seen Notifications placed on the top of the screen, on proximity of where the UI element and action is happening and finally, central, on the screen.

What is the best approach in terms of usability? Why? Are there any differences between web and applications/software?