Nearly all Blockchain implementations today (I'm speaking about permissionless Blockchains here, permissioned Blockchains don't really count for now) have several problems, so lets summarize them real quick:
Scalability: Because of a transaction limit, Bitcoin/Ethereum cannot handle a high load of transactions. This is one of the base requirements for IoT if it wants to utilize one backbone for handling tx's/messages.
Storage: With Bitcoin at 60gb and Ethereum coming close to 10gb, the requirements for running a full node in order to interact with the network are simply way too high for IoT devices which don't have the luxury of having a spare 60gb available for storing a Blockchain.
Bandwidth: In order to keep up with the network a device would have to download 1 Block (roughly 1mb) every 10minutes. Because IoT is synonymous with resource constrained environment, many IoT devices will have a difficulty keeping up with the network with limited internet access.
Fees: Because of the way these Blockchains achieve consensus, tx fees need to be paid. This makes them pretty useless for microtransactions.
Now don't get me wrong, the above is the current state of Blockchains and there are some great proposals to improve Bitcoin/Ethereum beyond their current capabilities, but none of the current proposals make Bitcoin nor Ethereum a great choice as the backbone at the underlying IoT layer. This is where IOTA comes in place which is lightweight (both with the client, and with the Tangle itself due to snapshotting), scalable (~100tps on-tangle, near infinite off-tangle) and it has no fees.
Apart from monetary transactions (which can be nano-transactions), IOTA also allows you to send messages, which make it a perfect solution for IoT devices to communicate with each other and with the outside world. Now you may say "dude, TCP/IP can do that as well..", yes, but one of the core problems of machine-to-machine communication is the difficulty of proving the authenticity and integrity of a message. By doing messaging on a distributed ledger you can prove the authenticity and integrity of a message and you also make it tamper-proof.
Now for IoT I see a great synergy between Ethereum and IOTA. Ethereum could run in a kind of central controlling station while IOTA runs on all the tiny devices and connects them between each other and the Ethereum blockchain. That is exactly the kind of direction we are going towards, because we want maximum interoperability with other Blockchains to create an environment where IOTA is the backbone of the Internet of Things, and other aspects of an application are handled by different Blockchains (mostly smart contracts).