I get a lot of my level ideas IN the room editor... just place a bunch of blocks to get a general outline of the level, then gradually drill down and make actual level parts, individual challenge setpieces, and so on. It also helps if you try to make each level distinct from the previous ones... alternate between linear and open levels, horizontal and vertical, puzzle-based and action-based levels, dodging versus attacking, which gimmicks are included, and so on. IMO it also helps if you make each level about a single type of challenge as well. This also makes levels easier to remember for the players, too. SMB3 works really well with that, and if you ask a player about "the level where you jump between blocks that fall down when you step on them" or "the level with doors between the big side and the small side", they know exactly what level you're talking about (W1-3 and W4-7, respectively).