I commonly get the question, "what's the difference between Event Hubs and IoT Hubs"? Both are basically positioned at the edge of a cloud analytics solution, and after all are responsible for storing ingested telemetry as messages or events. While you can get very deep answering this question, there are three high-level fundamental differences that can help you in making the right selection.
#1 Messaging Directions
Event Hubs provides what I like to call a "multi-consumer" queue that defers state management responsibility (e.g., progress reading thru the queue) to the consumer. This type of queue is great for ingesting huge amounts of events/messages with great throughput from device to cloud. In a typical IoT scenario, you would configure your devices to send their messages to the Event Hub. Not to be out-done, IoT Hub also offers the same functionality. In fact, I like to explain IoT Hub as a package that wraps Event Hubs for message ingest from devices and Service Bus Brokered Messaging for sending messages from cloud to device. Event Hubs does not provide this cloud-to-device messaging flow.
#2 Device Management
Naturally, a service like IoT Hub should be more specialized than a more general purpose highly scalable queue like Event Hubs. IoT Hub provides a registry that can manage the list of devices that are "registered" as well control if those devices are actually allowed to connect and send messages. While you can build some aspects of this with Event Hubs on its own, the registry management and the supporting API's are somethings you would need to build from scratch.
Event Hubs supports HTTP and AMQP for message ingest. IoT Hubs supports HTTP, AMQP and the super-common-in-the-IoT-space MQTT protocol.
Hopefully this helps you making the course grain decisions without getting lost in the details.