At different times, different groups of people would like to have different hierarchical views into the same code-base. An OO design naturally defines one such view. Using AOP allows people to organize other views that exist simultaneously, along which one can modify the code.

My gut feeling is that the complexity involved is unlikely to be worthwhile. Attempting to organize code so that it can be viewed multiple ways makes really understanding it more complex, and either requires cooperation from everyone, all the time (a point of unreliability), or else requires automating a process of going behind people's backs, which gives another source of possible problems and confusion for the people writing the code in the first place.

That said, I only directly know one person (from elsewhere) who has used it in real life, and he said that it wound up being highly worthwhile on a large project. So I might never recommend the technique, but I wouldn't object on principle to being on a project where it was being tried.

Cheers,
Ben