As much as people give Solidworks flak, it actually is really, really good software for what it does, and it does a lot of different things. There are other pieces of software that can match or exceed it in single matters, but very few can do all the things it does. While it's not cheap by an means, it fills a role at which little else comes close.
In other words, it may be $4000, but it does what would take four or five $1000 (plus training) pieces of software to do.