I mean, even "regular" keyboards have source code these days, it's just usually closed and flashed to the board permanently. The days of keyboards literally being addressable switches ended decades ago.
But the reason why you'd want user programmable keyboards is the ability to change which keys do what. My keyboard has four different layouts ("layers") that have totally different keymappings. I use them for daily work, work macros, and video gaming.
Tandy 80 in 1979 and IBM PC a couple years later already used the Intel 8042 controller in their keyboards.
Software for keyboards has a long history. Custom software for keyboards, not as much, but it's a pretty established niche. QMK firmware mentioned in the article is a few years old.
But the reason why you'd want user programmable keyboards is the ability to change which keys do what. My keyboard has four different layouts ("layers") that have totally different keymappings. I use them for daily work, work macros, and video gaming.