I very much agree with HeRetiK that the main use case for smart contracts is the management of "virtual value" in decentralized networks (just like currencies, securities, and tokens; maybe games/gambling). Jimmy Song has written a nice article about smart contracts where he also covers this topic:
The Truth about Smart Contracts.
But there is a notable exception, an use case where a smart contract manages a non-financial asset: Storage management. I refer to systems like Siacoin, where a smart contract checks if certain files are hosted by a server "node" - if yes, it rewars the node owner, and if not, it punishes it. It's possible that there are unknown problems with this approach, but until now it seems to work, while it may be not a complete replacement for traditional hosting, it can be a very cheap, a little bit less reliable alternative.
So decentralized storage systems, even maybe more advanced "decentralized web" concepts (like Maidsafe), could be an interesting non-financial use case. The reason for that is that storage systems have to be reachable permanently by online services, via the Internet - just like blockchains. So the smart contract can directly interact with the service, not with a "representation" of it. No oracle is needed.
A "proof of computation" system is another use case that occurs to me - it has similar characteristics.
However, these use cases are relatively simple, and they would very likely not need a Turing complete smart contract language - these functions can be part of the hard-coded "standard feature set" of a cryptocurrency protocol and/or client software.