It just feels wrong, somehow, to use a microcontroller for something so trivial.
To some extent it does but sometimes it's the least bad solution.
Sure, you can make something out of a bunch of circuits (large and expensive, not flexible), or use something like a LTC6992 indeed, but it's an expensive part and that might still require a bunch of circuitry to make it work as you'd wish. I just made something like this out of a PIC10F320 because it was simpler, more flexible and cheaper overall.
It's a a simple fan controller, with a MCP9701 temp sensor (analog), and a cheap but good enough logic level N-Ch MOSFET driving the fan in PWM (no feedback). This way I can change the temperature at which the fan starts, which PWM % the fan starts at, and what the curve will be like overall. Setting those things in hardware would have sucked in many ways. Here the code is easily tweakable, and the total BOM including the PCB is under $2.
The main downside is that the PicKit ICSP header is kinda big for the board. The temp sensor, MCU, LDO and MOSFET are all SOT-23 so it's quite a small board.