There are no known obstacles of using support library. Moreover as you rightly noted, Google encourages to use it as best practices:
"Including the Support Libraries in your Android project is considered a best practice for application developers, depending on the range of platform versions your app is targeting and the APIs that it uses." (http://developer.android.com/tools/support-library/index.html)
As a disadvantages we can mention just few minor things:
increasing of apk size and total number of methods in project (very insignificant in comparison with other functional costs)
some specific limitations of use (usually they are mentioned in corresponding Java docs and they usually don't play any role if we use in app only support implementation without mixing them with 'native' elements from sdk). As an example see the FragmentActivity class, 'Known limitations' section.
As for your second question - a great amount of new features are included just in support library avoiding duplication in core SDK (android.support.v4.view.ViewPager and android.support.v4.view.PagerAdapter as an example).
Duplicating features (such as Fragment) are preserved to keep the compatibility for apps which were designed using native implementation.