Usually when one of the services doesn't start, what actually happens is that it runs for a short amount of time, and during its startup phase discovers that there's some reason it can't run normally. In this case, it will stop, but not before writing lots of interesting things in the logs. In most cases, there'll be enough there to help you solve the problem.
So, in the config folder of your service, look in the logback.xml and check the log.folder property. The first thing to check is whether you can find logging output in this location. If not, check that the account running your service has permission to write there.
Assuming there's logging to see, check what it says. Sometimes the relevant information is in the file matching the service itself (cd_deployer..log) but often you'll also have to look in cd_core..log.
If this doesn't solve your problem, set the log.level property in logback.xml to DEBUG. At the bottom of the file, set the level property of the root element to DEBUG. Restart your services and check the logging again.
Reading carefully through the logs will usually get you there. If you don't understand what you see there, you can ask here. If you still can't find the answer, and you end up raising a support ticket, you can guarantee that the first thing they'll ask for is debug logging, so it's always well-spent effort. Good luck.