In my experience the focus should be on avoiding incidental complexity. Essential complexity born from business problems are counter intuitively often better left complex.
However, for all technical things, then i've noticed that things can be made quite obvious if you really focus on the exact problem you actually have to solve, and have a good understanding of its nature.