SDR indexes metadata by URL, with a corresponding unique cserdId number. This allows it to treat all resources, whether hosted by Shodor or not, the same way. Its purpose is to store tags describing and linking the pages that users see on the front end of the site. Those tags allow users to find and see relationships between the front-end pages they need.
More conceptual information on SDR can be found at https://wiki.shodor.org/index.php/SDR
The other is the update API, which allows users or applications to submit and approve new versions of SDR resource metadata. This API allows the submission of new resources or revisions for existing resources, and it allows admins to approve or deny those revisions.
The Search API is a set of classes that allow for easy, organized querying of the search service. Using a SDRServiceRequest object, you can prepare a search query from within your application. Then you can run the search by passing that request object to the SDRSearchService class, which will return your result either as XML or as a set of objects representing the XML data.
This API affects the live versions of SDR metadata. When a version is submitted using the SDR Update API, it goes into a list of pending versions for that resource (not visible on the live site). But if the version is then published using the SDR Update API, it goes live to the main website, CSERD, etc., immediately.
Therefore, the SDR Update API should be used with some caution. Though it's hard to delete data -- when a new version of metadata is approved, old versions are simply marked as history and can be re-activated -- it is easy to make a mess with the use of batch-submit or approve scripts.