1 When writing code, especially any large project, such as a CMS or social network, it's very important to keep your code organized and readable.
2 The reason I always choose to use callbacks is so I can adapt them to asyncronous methods in the future, without rewriting a ton of code.
3 Usually my day consists of eight or so hours of writing code and a few hours going back and refactoring, but I'm working on it.