Do you have HFSJ? If so Chapter 12 talks a lot about this. The basic idea of declarative security is changing without recompilation. If you make security part of say your
servlet then you need to change code every time security changes. This is a dependency you can avoid with decalrarative security. Also depending on where you deploy (dev vs prod) you may want different security.
Tom