In my experience, shoot'em-ups are easy to make, but hard to get right. Same with text adventures, only more so: while it's trivial to make a bad one, by the time you're done with testing, bug-fixing and polishing you'll have spent months -- longer than you would on some graphical games. Speaking of which: it's definitely easier to script a visual novel, but then you need to make or acquire all that graphics and audio.
At the other end of the spectrum, it took me several tries to even end up with a complete, playable roguelike. It's easy to get a little @ tromping around a grid bumping into walls; after that, difficulty spikes. And it's all programming -- no shortcuts to take! But it's very satisfying when it finally works.