Swapping different vendor libraries in/out easily.
Easily A/B testing different configuration options.
Wrapping try/catch blocks around code in Production so that users see a "nice" message when an error occurs, but leaving the full debug info visible in Dev/QA...without violating the DRY rule.
....all kinds of things!
Coincidentally, @markmandel's demo of AOP at Adobe Max ages ago is what also made it "click" for me. Before that every demo I saw seemed like a really big pile of extra work just to use the CFLog tag, with no real benefits. Mark's talk was the first one that made actual sense to me (and I give him a shout-out in my AOP talks to this day because of that).