Maybe anecdotal, but in solution design I have often encountered designs that try to be generic for the sake of generality, also designs that complicate a simple repeatable task to accommodate arbitrary potential complications. I would argue that in many cases we like to introduce complexity to feel like we are doing something advanced. I like to design systems with a view that they do one thing only and that thing right but there is, to your point, arbitrariness and art and judgement in deciding the thing.