A deployment server is a Splunk Enterprise instance that acts as a centralized configuration manager for any number of other instances, called "deployment clients".
Any full Splunk Enterprise instance - even one indexing data locally - can act as a deployment server. A deployment client is a Splunk instance remotely configured by a deployment server.
One challenge I've been particularly concerned about is the user experience (UX) of apps for Share Point and how apps from the Office Marketplace appear in existing Share Point sites.
Thankfully, MSDN has fantastic resources and guidance on UX design for apps in Share Point 2013, which should be considered the definitive guide for designing Share Point app UX.
For more information on app hosting options, see Hosting options for apps for Share Point.
A deployment app is a set of content (including configuration files) maintained on the deployment server and deployed as a unit to clients of a server class.