Can someone tell me what are the pros and cons of these two features?
Quite simply field filtering is typically more ADH driven but maybe ADS can do the same. It filters fields globally for all downstream users via configuration on that component.
Dynamic views allows a user to specify programmatically what fields they are interested in. This must be done through the API. Furthermore, this is much more expensive as different users might specify different views which forces multiple re-encodings per inbound update.
So basic pros of dynamic views is more customization but cons are more cpu, requires a license, and requires an application that utilizes this feature. The pros of field filtering is it is cheaper in cpu, requires no license(that know of), and can be enabled by administrator regardless of the application.