There are some core API related to SocialRequest that are not currently used by any portlet and whose functionality is indeed duplicated by the Notifications APIs and Notifications Portlet.
Originally, SocialRequest API was used by Social Networking to ask some other user for friendship and the request would be displayed in the Requests portlet. Social Networking plugin has been removed as of 7.1 (it was a Lab App) and Requests portlet has been deprecated as of 7.1.
In addition, this API is used by Contacts Center portlet to connect with some other user. However, Contacts Center also uses the Notifications API and the Connection Request will also be displayed in the Notifications portlet.
Considering this, we should deprecate every core API and Service related to this functionality and we should encourage developers to use the Notifications API since it's more powerful, versatile and it integrates better with the Portal.
Ideally we should be able to extract the SocialRequest services and API to a "Compat module" that will preserve backwards compatibility for developers who might be using this API and we could remove the service and API from our source code. In order to do this we might need to first extract this services out of core.
As part of this task of deprecating this service, it's important to keep an open mind to see if any other API, Services or Classes can also be deprecated in case they are related to this use case and they are not used by any other app or they can be replaced by a more modern and stable API (such as notifications, for example). This could be the case of the following APIs, although they need to be analysed and evaluated case by case. This is only a limited set and it should be considered as an example, because there could be more or less.
The Compat modules containing all the deprecated APIs and Versions should be tested by creating a compat-test module to ensure that invocations to the old api and services will work.