I have used taskdef to write my own task in ant. By mistake I forgot to extend Task class, which I suppose is mandatory for creating our own task. Yet everything worked fine, the execute method was called successfully and all the operations were performed as required. Also please note that the taskdef class did not extend any other class.
So I guess, the advantage of extending Task comes only if you need to use the instance variable like project,target,location... is it?