To clarify, device IDs are a recent addition and were never intended for the user to "code device IDs right in". The goal was to allow users to create triggers (for automations) that are device-oriented as opposed to entity-oriented. The belief is that this is a more intuitive way for new users to create automations (using the GUI-based Device Automation Editor).
The Editor displays devices by their names whereas their auto-generated, long-winded IDs are not revealed to the user (in the UI).
The automation example you posted from the cookbook uses an entity-based trigger. This is Home Assistant's traditional way of creating automation triggers. You can create automations using the built-in Automation Editor (similar to but not nearly as elaborate as what Hubitat offers) or using a text editor.
Personally, I prefer to use a text editor (VS Code). The resulting files can be backed up anywhere and shared with anyone. Some users use their personal GitHub repo to both store and share their files with the world. Sharing automations is easy because you can post them (wherever) and others can simply copy-paste them (like you've done above with the cookbook's example).
The ability to easily share one's automations (through simple copy-paste) is, I feel, an important advantage. It allows automations to be easily distributed and consumed.
It's important to point out that some people not only do not find it easy, they dislike it to the point they offload all automations to Node-Red (or simply move away from Home Assistant altogether). Although the automation you posted is simple for me (I've been writing them for over a year), learning its structure (YAML) doesn't come easily to everyone. That's why there have been efforts to improve the GUI-based Automation Editor.
Effectively, Hubitat and Home Assistant have approached the problem from opposite directions. Hubitat's approach is entirely GUI-based whereas Home Assistant's has been text-based (with lip-service paid to a GUI-based facility). Now Home Assistant is focusing more attention to refining its GUI-based editor. Perhaps Hubitat's team should add to their roadmap a text-based means of creating/storing/sharing automations.