There's remote control, which is one thing. My Honeywell system can do that, but even if I don't connect it to the WiFi (and earlier versions required extra hardware) it'll still do smart local control. I lose weather compensation in that case, though, as it uses a remote forecast to predict future demand and not bother turning the heating on if it's not actually going to be needed.
The more important aspect of "smart" heating is proportional control and predictive heating. As you say, regular thermostats will turn the heating on when the temperature is below the set point, then off when it's above, with some hysteresis to avoid flapping. And one function of the smart system is to predict how early it needs to turn the heating on to get up to temperature in time. The Honeywell will also switch the heating off early if it's confident the temperature will drop by less than 0.5°C before the end of the set time.
Beyond that, though, the controller will modulate the boiler to maintain the set point -- heating systems term this "TPI", I assume it's not a PID controller because it lacks the derivative component. Time Proportional and Integral either (in my old house) controls the boiler modulation directly or (in my new house) turns it on for a few minutes in every time slice in an attempt to get the right amount of heat into the system to maintain the set point.
Where a system like the Honeywell really shines though is that I'm not turning the whole house on or off -- I've smart TRVs on each radiator, so I can have heat in my office during the day and in the lounge in the evening and not have to keep rooms warm when I'm not using them. Having recently moved house and consequently had a few weeks without the smart system I can attest that it really does make a big difference.
The term for this control theory operation is called "Bang bang". The basic logic is "Turn on if under set point, and turn off if at or above set point". Ovens and cheaper HVAC heating controllers use this extensively.
You do see a bit of hysteresis, since it's goal is not to be under the point, but overshoots are definitely a thing. And since it's a simple instantaneous decision (unlike PID), it's also pretty simple to make very cheaply.
The Honeywell system I have seems to have gained extra derivative-based functionality recently too, which is nice :).
One thing I don't understand about Nest et al is - virtually no houses have actual zone cooling or heating. So when we say "make bathroom 21c at 8pm" we are actually saying "heat up entire house until bathroom is 21c at 8pm". Turning on electric heater in bathroom for 30seconds seems incredibly more convenient and efficient.
Bathroom heaters don't heat instantaneously; so you either have to remember to turn it on manually (introducing your own fudge factor, as described above), or start your bathing process with a colder-than-you-want room.
> One thing I don't understand about Nest et al is - virtually no houses have actual zone cooling or heating.
UK regulations require individual rooms' temperatures to be able to be set individually. For most people, this can be done with a valve on the radiator; these valves can be "smart" and integrated into the whole "smart heating" system. For underfloor heating, this typically requires an actual wall thermostat in every room -- which is what I've got. :-)
(Hence why I also want to let the temperature in my son's room drop during the day when he's not there, but come up to 17C in the evening so he's reasonably warm under a blanket.)
I'm not sure how, but our smart thermostat intuits this to adjust to our comfort, not just a temperature.
Because of our climate, it's also convenient to program our fans to run at certain intervals, control for a set point for humidity, or to base behaviors off of other sensors (air quality, etc). Conditioning air isn't just for maintaining a temperature, and most traditional thermostats, while not ineffective, are completely unable to account for these things.
I don't use a smart thermostat, but what's told to me is this.
With a "timer" thermostat, you tell the system when to start heating; but what you really want to tell the system is when you want it warm. For example, we regularly give my son a bath between 7 and 7:30, so I want to make sure the bathroom "zone" of my house is reasonably warm at that time; and that his room is a comfortable "sleeping with a blanket on" temperature, ready for him to go to bed at 7:30. (Just about every room in our house has a separate thermostat.)
But if I set my thermostat to 19C at 7pm, then it won't be 19C at 7pm -- it will start heating at 7pm, and reach 19C at some indeterminate point in the future. So I manually add my own "static fudge-factor" in, and set the thermostat to 19C at 6:30pm.
However, this "static fudge factor" is almost certainly to be ineffective or inefficient: It may hit 19C at 6:40, in which case I'm paying for 20 minutes of unnecessary heating (inefficient); or it may hit 19C at 7:10, in which case the room will be cooler than I want it to be at 7:00 (ineffective).
The claim of the "smart thermostats" I've heard is that you can tell it, "I want it to be 19C at 7pm", and it will figure out how long your particular room will take to heat (possibly factoring in the current temperature), and start the heating at exactly the right time so that it hits 19C right at 7pm.
Is that something worth having? I think so. Is that worth the extra cost and risk? I don't really think so, which is why I haven't installed one; but I can see why someone else would like it.