Exception Handling: don't need to repeat the horrible list of try ... catch, catch, catch etc - also means the exception handling is guaranteed to be consistent.
Performance monitoring: Very useful as using an aspect is non intrusive and can be done after the fact and then turned off when no longer required.
Wow... 10 years ago - didn't have much for AOP... Here are a few more
Be able to customise objects where you don't have access to their constructor (e.g. jpa entities)
Implementing security rules (security says user is not allowed to call this method - AOP can implement that)
Transaction manager (begin, commit, rollback)
Caching - want to cache the result of a method and not call it again