"Neither has delivered a knock-out blow to the other"
And that will never happen, simply because the world is a complicated place and no one solution is good for everyone all the time.
Companies and people will find the Cloud useful for some use cases, on-premise for others. I'm convinced that any given single entity (company or individual) will find that it ends up using both, each kind for specific applications or use cases.
And, in the end, that is what computing should be about : bringing the best solution to a given problem. It is not about bringing one solution and removing all the other possibilities.