It is much more convenient to be able to enable or disable a filter in Shiro's [filters] (aka 'filter chain definitions') configuration based on a config property rather than actually removing it from a filter chain.
For example, it would be much more convenient to turn on or off Shiro's SSL filter via configuration than to have to to mess with a <security-constraint> definition in web.xml. E.g. in development, you want SSL disabled, but in production it must be enabled - it is a real pain to try to do this in the build with Maven filtering for example because it messes with the IDE's ability to use that same web.xml file for embedded web deployments.
The Shiro Filter property configuration approach is much more flexible and can even be controlled at runtime if desired.