The problem with roguelikes is that while coding them is good practice, actually playing them is pretty much a pure waste of time. Which makes me wonder whether I can still justify coding them...
This can be said of any game. Whether or not something is a waste of time is determined by the user, not the creator of the game. If you like coding them, then code them and gain the experience of coding them.
I do it because I enjoy it.
Nobody's going to pay me to (edit: because I'm not a tenured professor) make finite state machines, toy languages in LLVM, and roguelikes.