¿Qué diferencia hay si uno ejecuta un código VBA en "Hojas", en "ThisWorkbook" y en "Módulos"?

¿Qué diferencia hay si uno ejecuta un código VBA en "Hojas" ("Hoja1", "Hoja2", etc.), en "ThisWorkbook" y en "Módulos" ("Módulo1" etc.)?

En otras palabras, ¿cuál debería usarse en qué casos?