One advantage of it being hardware specific is that I can move my keyboard between machines and not have to worry whether my shortcuts are available. Also, I believe tools can only register themselves so early in the input processing stack in the OS which can prevent you from having your macros/shortcuts available in certain applications. An example of this is for RDP in windows, where if you use fullscreen RDP, it will use the remote instance's keyboard shortcuts instead of triggering the hooks you have on the host. Having the shortcut in firmware makes your shortcuts resolve before even leaving the keyboard.
Of course, there are downsides to having it all in hardware as well.
Of course, there are downsides to having it all in hardware as well.