Delegates are objects that implement all or part of an 'informal protocol', and attach themselves as the delegate object for something else (see the -delegate and -setDelegate: methods).
Each object that can have a delegate will use it differently, and have a different informal protocol. NSTableView and NSApplication can both have delegates for example, but each one expects its delegate to implement different methods.
If you want to know what delegate methods a particular class supports, you will need to look at the class reference documentation for that class.