While it is difficult to come up with a precise definition for either as the lines can be blurred sometimes, I would suggest the following.
Head of government: Usually the person in de facto charge of the executive branch.
Head of state: Usually a person with representational and ceremonial duties on behalf of the state.
In presidential systems (US, Latin America) the same person combines both. In semi-presidential countries (France) the president is generally (depending if the PM belongs to his party or not) in charge of foreign affairs, national defense, etc.