What is the difference between a ground controller and an air traffic controller?
Ground controller is a "position" (role) carried out by an air traffic controller.  The role of an air traffic controller who is working the ground position is to coordinate traffic moving on taxiways and to and from runways.  The ground controller is in charge of the taxiways.  An air traffic controller may be certified to work multiple positions.

You can think of a ground controller as a type of air traffic controller.

Positions (roles)

There are many air traffic controller roles which an air traffic controller may perform.  Other air traffic controller positions are:

Clearance delivery: A clearance delivery controller gives the pilots their clearances, which details their route. 

Ground controller: A ground controller is responsible for traffic moving on the ground along the taxiways.

Tower controller.  A tower controller is responsible for traffic landing and taking off or in the air in the immediate vicinity of the airport.  The tower controller is in charge of the runways.

Departure controller.  A departure controller controls traffic which is leaving the airport.

Enroute or "center" controller.  An enroute controller handles traffic which is flying between airports.

Approach controller.  An approach controller controls traffic which is approaching to land at the airport.

Some air traffic controllers work just one position.  Others work multiple positions.  For example, at a small airport, the same controller may be the ground controller and tower controller.  Or an airport that is busy enough in the daytime to need separate controllers for ground and tower may be need only one controller for both roles at night when there is less traffic.

Example flight

Let's take for our example a pilot who is departing from a large airport, flying under instrument rules, and land at a small airport.

The pilot might first contact clearance delivery.  Clearance delivery will give the pilot her route, which she will write down.  The pilot will then radio ground and ask for permission to taxi.  The ground controller will give the pilot permission to taxi, including the specific route along the taxiways to use to get to the departure runway.  On reaching the runway, the ground controller instructs the pilot to contact the tower controller.  The tower controller will then clear the pilot to take off.  The pilot enters the runway and takes off.  The tower controller instructs the pilot to contact the departure controller.  The departure controller gives the pilot instructions to control the route and altitude during departure.  The departure controller then instructs the pilot to contact an enroute controller.  As the plane moves along, the enroute controller instructs the pilot to contact a different enroute controller.  That controller gives the pilot instructions to descend and approach the destination.  The enroute controller instructs the pilot to contact the tower.  The tower gives the pilot instructions to approach the runway and land.  Since this is a very small airport, the tower and ground positions are handled by the same controller, and on the same frequency, so after the plane touches down, the same controller gives the pilot instructions to taxi to her destination.

Every person the pilot talked to was an air traffic controller.  Each of these air traffic controllers was working different positions (roles).

See also: Air Traffic Controller (wikipedia)