I think that's because the barrier to entry is too low and anybody is being called a "software engineer" these days.
But think about a system which makes proper use of synchronization primitives, like an OS kernel or a robotic control, or a CPU design like the other guy commented too, or maybe a 3D game with tricks like that of John Carmack. Those things can be as complex as an ICU engine.
To make an analogy: in the physical world there are the engineers, and the mechanics.
In the software world everybody is a software engineer.