For me RAD wasn't so much a development paradigm as a language capability. VB, with it's GUI designers, data wizards etc. let you throw together Apps rapidly so it could call itself a RAD tool. When people talked about RAD development I think it was largely double speak for "we chuck something basic together and then keep changing it until it meets the customer's need".

I think Agile is subtly different in that it tried to nail down some good design principles from the start. TDD (later BDD), Regular SCRUMs, Time estimates etc. are all there to try and add some order to the chaos of iterative development. Sadly, most places that say they're doing Agile development don't actually adopt any of those practices and they are, in truth, doing exactly the same as we used to call RAD.

I don't think this is necessarily a bad thing though. Hacking works. It gets product out the door and does so quicker than a front heavy water fall approach does. While many would like to deny it, the best development approach to many projects is probably to dive right in and work until it's done.

To me the best advances over the last couple of decades aren't that we decided to rebrand RAD as Agile but rather that we've advanced the design patterns we use at a small level. We've learned how to get our design to police our work and how to make our code both testable and flexible. We learned how to structure things in a way to allow for refactoring and we learned to refactor safely through automated testing. I don't see Agile as fundamentally different from RAD, we just got better at it.