If you design a system, then you can optimize it for different goals. A designer that's supposed to design a public space signs a contract. To the extend that the designer optimizes for different goals and especially goals that disadvantage certain people he's doing wrong.
From the perspective of a city written into the contract that the space is designed against homelessness also makes a difference.
That only moves the question up a level: why is it wrong to do X as your goal, but okay to do X in service of something else, even if that something else is as vague as aesthetic reasons or whatever impels people to randomly design things? By your initial reasoning, it would be wrong to design spikes to discourage the homeless, but okay to design spikes if you just happen to like the look of spikes, even though both of these have the same effect.
If it's worth saying, but not worth its own post (even in Discussion), then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should be posted in Discussion, and not Main.
4. Open Threads should start on Monday, and end on Sunday.