I agree with comment from Yogesh about publishing following the business use case. I usually consider workflow based publishing(autopublish on approval)/manual publishing (assuming you meant adhoc publish and not person initiating publish daily at 9pm :p) to be both adhoc as there is less control on the time of publish. As we are all well aware of the consequences of sitecore publish (html cache clear), you would want to go with some scheduled approach which would work in most cases.
It is better to decouple the publishing operation from the workflow process to avoid the cache clearing scenario. You can always provide the ability to do adhoc publishes.
Latest Publishing Service:
The latest publish service introduced, they do not hook into your normal Sitecore publish pipelines.
"The Publishing Service does not use any of the features, pipelines, and settings in the current publishing system"
It provides one bulk update to the "publishEndResultBatch" pipeline of the invoking process to be able to perform other tasks based on the result of the publish. So when thinking of using the new Publishing service, one has to revisit the pipeline processors added to original publishing system. There are limitations to the new publishing service currently, but sure they will be removed as it matures. Until then one has to choose one way or the other knowing the limitations.