What's the difference is between 'internal medicine', 'hospitalist' and 'general practice'?

Different. Internist is one who specializes in internal medicine. They are mostly experienced in inpatient and outpatient care. They may either choose to be an hospitalist (who takes care of inpatients or hospital based practice) or an internist may choose to stay in a clinic to take care of out patients. General practice-sees all patients taking care of generally minor ailments.
See below. There's no such thing as general practice anymore. What used to be general practice is now either family medicine (treat adults, children, & pregnant women including deliveries) or internal medicine (adults & adolescents only). Internal medicine is inpatient or outpatient adult medicine. Hospitalist is inpatient medicine only - internal medicine, family practice, pediatrics, & recently, surgery.