I've been deep into Home Assistant for quite a while now, and with that has come an obsession with researching sensors and other gadgets that I can use to automate aspects of my home and collect data from it. I've mostly opted for Zigbee devices, as these are pretty much universally compatible thanks to Zigbee2MQTT, and they're cheap and have battery life measured in years. Given that I live in a small apartment, a single Zigbee repeater has been more than enough to cover the entirety of my home, so range hasn't been a concern either.
If you're looking to get started in the world of home automation, these are the cheap, easy-to-use sensors that I've been using and have given me the ability to automate different parts of my home with ease.
7 Temperature and humidity sensors
The bare basics

My entry into the world of Zigbee and data collection started with a single temperature and humidity sensor, and I've been hooked ever since. It does exactly what you expect; it exposes the temperature and the humidity in a given area. Currently, I use them paired with Home Assistant to notify me to open a window when the temperature starts getting above a certain threshold (and the temperature outside suggests that it'll rise further), and to get a general insight into the state of my home. As Ireland is a humid country, I have plans to pair them with a dehumidifier as my apartment frequently goes above 60% humidity.
From a general informational point of view, these sensors are simply interesting. You can use them as a part of a holistic overview of your home, but you can actually use the data to automate certain processes as well. These sensors are pretty inexpensive and can be bought for as little as $5 a piece.
6 Door sensors for when a room is entered
Surprisingly useful for a lot of things

I'll admit, door sensors were one of the sensors I purchased in search of a problem that they could solve. I started off with one, simply because I didn't see the need to have them in the first place, and again, it only cost me about $5. I had initially considered using them for automation when I got home, paired with my current location readings from Home Assistant, but it didn't really offer enough additional data to justify it. When I got it, I stuck it on my bedroom door, and then I got ideas.
Right now, one of my favorite automations I employ in my home uses this particular door sensor in my bedroom to automatically switch on and off my light as I enter and leave the room. I do this combined with my AccuWeather integration, which provides information on the daylight hours of the day. Open my door after sunset? Toggle the light on. Once I'm leaving, it toggles the light off. It works surprisingly well, and when I'm going to bed, my smart switch can turn off the light, and because it's a full RGBW light, I can change the parameters of the light and what it instantiates to when toggled.
Since then, I've bought another sensor that I've put on my balcony door. I often open my balcony at night to cool down my living room, but when I close the curtains (which go over the balcony door), I can forget I left it open behind the curtain, and have sometimes gone to bed with the balcony door open. Not only does this invite the entire cast of A Bug's Life into my living room during the summer, but it can mean that my living room is freezing in the morning. I have a simple badge at the top of my Home Assistant dashboard that shows me if it's open or closed, which has already saved me once in the space of a mere week.
5 A smart switch to control my lights
Convenience made more convenient

So, controlling devices from Home Assistant can be convenient, but it can be slightly annoying to have to take out my phone, go to the app, and turn on or off the light for something that would take two seconds with a physical switch. Enter the "Smart switch," also known as a "Smart knob". This device is pretty simple; it's a rotating dial that connects to my Zigbee network and supports regular button presses, left and right turns, and double presses. The two I have right now are configured to control two separate lights: the one at my desk and the one in my bedroom. I can just press the button on my desk to turn on the light above my desk, and I can press the button on my bedside locker to turn off the light once I'm going to bed.
I haven't done a whole lot with it yet, aside from the toggle and then being able to turn it left or right to turn down or up the brightness. I've been looking into using the double tap to change the color of the light, cycling through a set of predefined values, and it is doable. I'm just lazy, but it's still incredibly convenient to just have the switch on my desk to toggle my light instantly.
4 A FingerBot, turning "dumb" devices into smart devices
Your coffee machine can turn on automatically

If you have devices that can't be controlled by Home Assistant natively, a FingerBot might be exactly what you need. It's a simple square with a mechanical arm that can push down to press a button, you can 3D print your own "fingers" for it to better suit the appliance that it's being used for. The default is good enough for most buttons, so that you can turn anything from a coffee machine to a TV into a smart device if it isn't already.
The best way to make use of this is to create a variable that holds the current on or off state of the device based on when the FingerBot was triggered. For example, you could tie this to your alarm on your phone, so that when your alarm is triggered, your coffee machine immediately turns on. It's a small thing, and it's certainly a more expensive device than the others here, but you can use this to turn "dumb" devices into smart devices pretty easily.
3 A human presence detector
Change processes based on whether I'm at my desk

Human presence detectors can be pretty useful, depending on what you need it for. I have two of these, and they're pretty simplistic. My ones use infra-red to detect when a person is in front of them, but there are others that use mmWave that you can mount on the ceiling to scan an entire room. The one that I keep at my desk can be used as a way to change how I receive my Home Assistant notifications, but I can also automate my light at my desk by checking for presence after sunset.
Human presence detectors have uses, though they can be a little bit more niche in smaller homes. Home Assistant's location tracking typically works for most people who just want to automate things based on when they're home or not, but you can use them in similar ways to enable or disable certain devices as well.
2 A CO2, VOC, and temperature monitor
For general air quality monitoring

While I wouldn't rely on one specifically for health reasons, a basic Zigbee-based CO2 monitor can help you keep track of your air quality in your home. The one I have reports volatile organic compounds (VOCs), formaldehyde, and CO2 levels. I wouldn't trust any of the figures as a baseline, accurate figure, but I do trust a rising value as a sign that I should open a window. I can get a notification when any of these go above a certain level, and in the future, I want to build a small motorized ESP32-powered device that can push open and close my window based on its values.
Plus, a lot of Zigbee CO2 monitors also track temperature and humidity, such as my one. I currently have the CO2 monitor in my bedroom as I wanted to see if there would be an uptick in CO2 levels over time; not that the actual values matter themselves, but whether they trend upwards in general as a way to measure ventilation.
As I already mentioned, don't rely on one of these as your sole metric for CO2-related alerts, but it can be a way to give a general overview of the air quality in your home and whether you need to improve on your ventilation. If the CO2 averages 300 PPM and then, when I wake up in the morning, it's at 700 PPM, that means there's a problem of some kind. The actual values wouldn't matter in that case, so it can still be useful.
1 Smart plugs with power monitoring
Track costs

Many smart plugs aren't just a fancy on/off switch; rather, they can monitor power usage as well. While that's great in its own right (I personally use mine to keep an eye on my home server and how much power it uses), you can get creative with it to track when certain appliances are in use. For example, if you have a basic washing machine without any connectivity, you could get a notification on your phone once the washing is finished when the power usage drops back to 0W (or close to 0W) after the cycle completes.
I only have one right now that I've been moving between devices to test out different ways to track things, but I'll definitely be setting up more of them as time goes on. I previously used it as a way to get notifications when a device finished charging, as I would plug in my Mac, or my phone, or my power bank, and get a notification on my phone when the power draw dropped to 0W, signalling that whatever device had been plugged in had finished charging. It was surprisingly useful, and I could even get a rough idea of how close the device was to finishing a charging cycle based on the decline in power draw as time went on.
I don't really have any kind of use for smart power plugs that can be turned on or off remotely quite yet, but the power usage monitoring is fantastic, especially when paired with Powercalc in Home Assistant. My smart plug doesn't use Zigbee (though there are some that do), and is a Tuya-made plug that I've blocked internet access to and control using LocalTuya instead.
These sensors make my smart home better
Many of these little gadgets have turned out to be inexpensive, typically coming in around $5 a piece. While the costs add up, you can start small with a relatively small investment to see if you like what data you can collect and what processes you can automate. Admittedly, you'll also need to invest in a Zigbee gateway, or at least a Zigbee coordinator to configure with software such as Zigbee2MQTT, so it's not just a $5 investment on the face of it. However, the deployment of Zigbee devices has been one of the most interesting aspects of building out a smart home, and for me, it's been well worth it.
Not only have I learned a lot about networking thanks to my smart home shenanigans, but I've genuinely improved my quality of life in many ways thanks to these. Automated lights, changing how notifications are delivered based on when I'm at my desk, and so much more have been made easy with these sensors. They may not be for you, but for me, they've been incredibly helpful. Even my door sensor on my balcony has allowed me to be consistent in keeping it shut every night, something that would frequently slip my mind in the past.