Bitcoin supports smart contracts, and has done so since launched in 2009. Even the simplest Alice-pays-Bob transaction is actually running a smart contract written in Script, a Forth-like language custom built for Bitcoin.
Bitcoin also supports metacoin protocols that create tradeable tokens, and has done so for a long time (e.g., ColoredCoins and MasterCoin).
Only a fraction of Bitcoin's full range of features are used today. This leads me to suspect that Ethereum's much-hyped VM will turn out to be mostly unused.
And, the majority of the interesting use cases for smart contracts require extrinsic (non-blockchain) state to operate. The price per barrel of Brent. Whether it rained over a piece of farmland. Randomness. Notice of the publication of a death certificate. All of these applications rely on a trusted server (or a federated system of them) for input. And they can be corrupted or shut down by a powerful adversary. Ethereum might be able to free itself from oracles to a small degree, but the difference will be negligible for many practical purposes.
In other words, Ethereum offers little more for day-to-day use than Bitcoin does. Ethereum does, however, enjoy a massive marketing advantage.