Quando devo usar @classmethod e quando def method (self)?

Ao integrar um aplicativo Django que não usei antes, descobri duas maneiras diferentes de definir funções em classes. O autor parece usar os dois muito intencionalmente. O primeiro é um que eu mesmo uso muito: class Dummy(object): def some_function(self,*args,**kwargs): do something here...