Short answer
3d slicer for segmentation from data (eg... CT scan to .stl)
Meshlab for cleaning/repairing/mesh integrity
Blender for shaping, sclupting, subdividing, smoothing....the final .stl which i then recheck w/ meshlab.
Long answers:
Im using 3d slicer to segment the models out of CT data. Takes a little practice learning what the different algorithms do and the general learning curve of the software is a little tricky but totally worth it. Really powerful software, I've only scratched the tiniest snowflake of the iceburg. Lot's of tutorials. It was developed with NIH(and other) funds so it's meant to be used for the general good.
3D Slicer I use meshlab to clean my data. (Delete duplicate points, delete lonely points, non manifold edges, close holes etc etc). I'm still a newbie at this too but I'm learning the ins and outs slowly. I just learned today it's pretty good at closing holes. Again, another very powerful free porgram
MeshLab Blender is what I use to create, edit or animate. It has really powerful sculpting tools. It's interface is SLOW to learn (for me) and not the most intuitive. That being said, there is a tutorial for ANYTHING and EVERYTHING out there. It's free, open source, huge community, not going anywhere. It's lacking in some of the CAD department because it is really an animation program (NURBS support isn't great, fileting, no scale etc) but it works great for me. Plus, if you got the right textures etc, you could render VERY LIFELIKE restorations as ad/promo material.