The DSL makes it easier to write Kafka Streams applications and handles pretty much the low-level details of building a topology. However, the DSL is "opinionated" in that you can only create what the DSL offers you. With the Processor API you have to do all the low-level work yourself to put together your topology, but you have no restrictions on what you can build.
Overall my recommendation is to start with the DSL and if you find you need some functionality the DSL doesn't offer, then use the Processor API.
If you are using a rototiller, you are doing it wrong. Even on this tiny ad: