Can I use one single splunk instance as both the Deployer and Deployment server? If yes what are the pros and cons?
yes it's possible and there aren't big problems because both Deployment Server and Deployer aren't mandatory for activity, they work for management.
Only one point of attention: if your Deployment Server manages more than 50 clients, Splunk requires a dedicated server because its load isn't compatible with other roles, even if a Deployer.
For more information see at https://docs.splunk.com/Documentation/Splunk/8.0.2/Updating/Planadeployment and https://docs.splunk.com/Documentation/Splunk/8.0.2/DistSearch/SHCsystemrequirements#Deployer_require...
Yes. Pros: Less infrastructure. Cons: If the host goes down, you lose both. 🙂