Channel field groups are used to group together related custom fields. Channel fields are the actual custom fields (textarea, file uploads, text input, etc.) that a user will fill in. Think of the channel field group as just a collection of fields. You can apply the same channel field group to multiple channels.
Status groups help you realize the state of an entry. For an e-commerce site think a product may go through stages such as Pending, Quoted, and Purchased. In ExpressionEngine you'd create a status group named Order Status, and add these three statuses. That way when someone is fulfilling an order they'd change the status so that everyone else is aware of the status of that order. Typically your entries will either be Open (meaning the entry is viewable to the outside world) or Closed (not viewable, but not deleted).
I hope this helps!