Over at the blog of Bob Nystrom (author of Game Programming Patterns) he has an article discussing the finer points of randomized dungeon generation. He covers stuff that has frustrated me before in roguelikes, namely the randomization placing objects or even the protagonist in rooms with no exits, effectively ending the game. He also covers balancing corridors (like, hallways and such) with rooms to create more dynamic dungeons. It also gets under the hood of randomized dungeon generation, comparing and contrasting various generators. The article includes several active examples that generate completely random dungeons every time you click to illustrate the points. Really cool stuff.