(It is quite funny to see this post get thumbs-up from the "oh openscad sounds neat, I'll have to check that out" crowd, and later see the thumbs-down rolling around like "nope. nope. Did not like that one bit.")
I know I shouldn't dunk on free software. But I have never been frustrated by a software before like I was with blender. Everything seems half developed. And I always need hacks I never knew I needed to complete the smallest of projects. Modeling tools are half finished.
Like try to snap the knife tool to the midpoint of an edge? no luck. Try to constrain the knife direction to one of the vertex directions ? No luck. Try to make the curve profile width consistent in 3d? no luck . do proper precision modeling ? Impossible . snapping in unreliable half of the time. and on and on and on .
I am very grateful for the free software and the devs hard work. I bet trying to make blender do many things at once keeps it in a state with many unfinished tools .