Programmers agree functions that return values are better than having side effects. What's a clear, concise summary as to why side effects are bad? Most arguments I've seen depend on "I'll know it when I see it" or "because composition", but I don't find them compelling
Side effects are things to be managed. Like complexity. Things can be built in different ways to manage complexity but it is not inherently "bad". Some systems have fundamental complexity that can't be changed. Some code requires side effects to be useful.