Without being quite as beautiful or descriptive as armstrom's writing, I use two, free, cross platform CAD programs now on a fairly regular basis, both for work and for lab-related things.
Draftsight - 2D Cad
This is a decent entry level CAD program, free for most users, that will perform many functions like standard Autodesk AutoCAD - so easy to move from one to another, command wise. Commands are entered either by typing, or using the mouse to click tools and points on the image, to edit values. Good for creating files for the laser.
FreeCAD - Parametric 3d Modeling
While far from perfect, this 3d modeling program is opensouce, and based on several other open-source CAD programs such as pycad and openscad, but with a more user friendly and intuitive work space As mentioned, you can either start with primitives and build up that way, or start with "sketches" and create shapes to extrude, revolve, or sweeping those 2d lines along a path. I've been using this program exclusively so far to work on things for the FamiRocket project (as slow as I am) its kind of been helping me to learn the software. With this one, commands are not typed like in Draftsight or AutoCAD, they are more GUI/Menu/Folder based for parts and tools. The big advantage of using this for 3d work is that any change you make, can be changed later down the line without going back a whole bunch of steps (i.e. changing the hole size in a complex part) Good for 3d printing, routing, etc.
These programs may not be perfect, but they're what i've chosen to follow at this point, mainly due to cost, and cross-platform availability.