Design should not only be judged by the problems it solves, but by the problems it creates
Often it’s easy to tunnel-vision when solving a particular problem, forgetting about the problems it could create. And when the solution becomes complicated, there’s a good chance it will create more problems throughout your game. Keep it simple.
This happened to me while designing a level select. Tried out many intricate versions that solved all kinds of issues, but players would only find them more confusing. See Keep it simple (stupid) for more.