A smart contract doesn't allow you to do that though, so I'm not sure how much you thought this through, or if you're only writing about your initial impression and dismissing what you learned after (I do think you realize this, as most people do after a few weeks of experience with Ethereum).
Either the smart contract would have automatically transferred money after a period of time, in which case it's basically like paying in advance. Or the smart contract would have received some external information, either from the consulting company, the client, a 3rd-party or a combination thereof, to decide whether the project has been completed or not. At that point, you're back to the problem you had without Ethereum.