What is the difference between groups and layers? When do I use one over the other?

Groups and layers are very similar functions that are fundamental for having an organized model.  The feature that separates the two methods is that an entity (ie. nodes, elements) can only be in one layer at a time while groups can have overlapping entities. Both tools can be used over the other, and in the end it comes down to personal preference.