Welcome to the HomeKit OT!
What Is HomeKit?
HomeKit is Apple's iOS based home automation system. All you need to get started is a single iOS device (iPhone or iPad) and a single "connected device". A lightbulb, thermostat, etc. Using the Home app on your iPhone/iPad you can then control your connected device. Turn on/off the lights, set the temperature on your furnace/cooling, etc all from your phone.
Meh, is that all? What else can I do?
Scenes
Scenes are the top way you will interact with your smart home. A scene is a collection of devices and behaviors that you setup. So you can create a good morning scene that opens the shades, sets the thermostat to a range of 69-76°, turns on the kitchen lights to 50% and cool daylight color temp, and turns on the coffee maker outlet. You would then just tap the scene to do all of the above in one action. Or you can simply say "Hey Siri, Good Morning" and she'll turn the scene on for you. Virtually any device can be added to a scene.
Automation
Yeah, turning the lights on and off with your phone is clever.. but where the power of any home automation comes in is in that second word.. AUTOMATION. With an Apple TV (4th gen or 4K) or an iPad that you keep at home, you can setup automation programs. These can be based on time of day, day of week, when a certain device is controlled, and now with iOS 11 can even be an offset from sunrise or sunset (up to an hour in either direction), AND can also be based on geofencing of family members.. specifically when the first person arrives, when anyone arrives, when anyone leaves, and when the last person leaves.
So you could set it up such that when the first person arrives, and it is between sunset and sunrise, turn on the back entry way light so you aren't walking into a dark house. Or, when the last person leaves lock the doors and shut off the lights.
Now when you think about using automation to automatically set scenes that you created above, hopefully you start to see where the power of smart homes comes in to play.
What types of devices are available?
Here are the accessory types enumerated from the HomeKit API. Categories with a * can be controlled with Siri voice commands.
Door/Window (open close)
Door Lock *
Fan *
Garage Door *
IP Camera
Lightbulb *
Outlet *
Programmable Switch *
Security System
Sensor
Switch *
Thermostat *
Video Doorbell
Window Covering
Most devices (including those not able to be controlled through Siri) can have their status checked through Siri. So you can say "Hey Siri, are any windows open at home" and she should report if any windows are open.
What about third party apps?
Third party apps are a bit hit or miss. Apple does not hold requirements for device's apps to be 100% integrated with HomeKit.. only to expose the devices based on one of the categories above. This can lead to different features being available for the device depending on if you are using it in the Home app, or if you are using it in the device's app.
There is a third party Home app which is in fact VERY good. It costs $15 on the app store, and essentially allows for automation on steroids. You can combine a seemingly endless number of criteria/checks to control the devices, and also gain access to devices/features that are otherwise not exposed through the first party Home app (for instance I had white ambience controls on my Hue bulbs before it was available in the default Home app. I also have access to my ecobee sensors, something I don't have in Home).
What's the future looks like?
As mentioned, iOS 11 just dropped adding new device type categories as well as new criteria for automation (the geofencing has been a long time coming and most are ecstatic it's finally here).
This December(?) HomePod is also coming. Presumably (partly mentioned by apple) there will be HomeKit integration. It's assumed that anything you can control with Siri on your phone will be able to be controlled with Siri on HomePod. What isn't known yet is if HomePod will be able to be used as an automation hub. This almost certainly depends on if it includes Bluetooth or not, for controlling BT devices.
How does this compare to Alexa?
I know very little about Alexa.. Here are the differences I understand. (I will 100% update this upon corrections)
1. Unified remote access. Alexa provides no remote access to your home by default. You probably have remote access through individual devices and apps, but not through Alexa collectively. With HomeKit and a Home Hub (again, Apple TV or iPad at home), you by default gain remote access to every device in your home, regardless of manufacturer or app.
2. Encryption. Remember mirai botnet? Unfortunately security is pretty much an after thought in most IoT devices/platforms. HomeKit REQUIRES end to end encryption for all devices. This was previously a problem as this encryption was performed by a custom chip that Apple required all manufacturers to by from them. As of this year, Apple has now allowed encryption to be handled through software. The response has been tremendous, with many vendors vowing to add HomeKit support to existing devices through firmware updates.
3. Automation. As I understand it (someone please correct me!!!!) automation on the Alexa platform is very DIY and heavily based around ifttt.com programs. This carries the upside of being ridiculously extensible.. more extensible than HomeKit really.. However it also means spending more time figuring out how to get your particular automation to work. With HomeKit your automation is identical for every device/manufacturer. It also means you can set multiple devices under a single scene with no third party effort.
4. Geofencing. Again this was just added in iOS 11 and is huge. Alexa with extensive ifttt.com programs and custom apps installed can perform this. On HomeKit, anyone you've invited to access your home is automatically available in all genofencing, which is handled right through the Home app.
I already have Alexa/Google/SmartThings/etc. What are my options?
Typically devices are polled/controlled by the platform, not hard linked to the platform. What this means is that most devices you can have visible/available in multiple platforms. You can have your ecobee thermostat available in or controlled by Alexa, HomeKit and SmartThings all at the same time. Probably not ideal, but there may be some cases where one platform gives you a feature that another doesn't. Or especially useful if you are looking to migrate from one platform to another, knowing you can do it over time.
Ok, where can I get started?
Some of the more popular device manufacturers (will add links based on suggestions!!):
Philips Hue (lighting)
Elgato Eve (sensors and outlets)
Chamberlin MyQ (garage door opener)
Ecobee (Thermostats)
August (door locks and video doorbells)
Lutron (window shades)
Home app: http://hochgatterer.me/home/
More advanced automation features than the built-in app.
HomeKitty: https://homekitty.world
Crowd-sourced list of HomeKit devices.