Anonymous methods
Syntax
Anonymous methods lets you write methods within other methods that do not have a name.
type
  TDemoAnonMethod = reference to function (n: Integer) : integer;
procedure DisplayModifiedValue(n : integer; AnonMethod: TDemoAnonMethod);
begin
  Display(AnonMethod(n));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  DisplayModifiedValue(5, function (n : integer) : integer
                         begin
                           Result := n * n;
                          end
                      ); // displays 25
end;
Further examples
John Kaster (Emb.) uses anonymous methods to extend the functionality of TField.
http://edn.embarcadero.com/article/41103
Barry Kelly (Emb.) discusses using anonymous methods instead of "out" parameters.
http://blog.barrkel.com/2008/09/anonymous-methods-as-alternative-to-out.html
Lars Fosdal discusses using anonymous methods for Lambda expressions, isolation glue and for threads.
http://delphi.fosdal.com/2008/08/anonymous-methods-when-to-use-them.html
Craig Stuntz (TeamB) uses anonymous methods to solve a mathematical problem.
http://blogs.teamb.com/craigstuntz/2008/08/28/37831
A StackOverflow discussion on ways to use anonymous methods.
http://stackoverflow.com/questions/256146/can-someone-explain-anonymous-methods-to-me
Nick Hodges implements the Inversion of Control design pattern using anonymous methods.
http://www.nickhodges.com/post/Using-Anonymous-Methods-for-Inversion-of-Control.aspx
Further reading
Closures and functional programming
Joel Spolsky introduces the concepts behind anonymous methods or closures.
http://www.joelonsoftware.com/items/2006/08/01.html
Pawel Glowacki (Emb.) responds to the Joel Spolsky closures article.
http://blogs.embarcadero.com/pawelglowacki/2008/09/20/38521
The case against anonymous methods
Jolyon Smith presents his views on why anonymous methods are unnecessary.
http://www.deltics.co.nz/blog/?p=48
A spanish blogger presents his reasons against anonymous methods (in English)
http://delphidicas.blogspot.com/2008/08/anonymous-methods-when-should-they-be.html
Introductory Tutorials
Comprehensive Tutorials
Traps to look out for
Mason Wheeler talks about a gotcha when using anonymous methods within loops.
http://tech.turbu-rpg.com/256/beware-using-anonymous-methods-in-loops
Allen Bauer (Emb.) further refines his anonymous methods and generics threading example and
Implementation analysis
Detailed analysis of how anonymous methods are implemented by the Delphi compiler.
Barry Kelly (Emb.) wrote back in 2006 on how anonymous methods could be implemented in the Delphi compiler.
http://blog.barrkel.com/2006/08/delphi-native-closures-part-ii.html
http://blog.barrkel.com/2006/08/delphi-closures-anonymous-delegates.html
Chee Wee has a quick summary of how anonymous methods are implemented by the Delphi compiler.
http://chuacw.ath.cx/blogs/chuacw/archive/2012/01/02/secrets-of-the-implementation-of-the-delphi-anonymous-method.aspx
Advanced Techniques
Barry Kelly (Emb.) has a example of using anonymous methods and generics to write an enumerator.
http://blog.barrkel.com/2008/08/tiburon-fun-with-generics-and-anonymous.html
Barry Kelly (Emb.) discusses storing references to anonymous methods inside method pointers.
http://blog.barrkel.com/2010/01/using-anonymous-methods-in-method.html
Multi-threaded applications
Allen uses anonymous methods in conjunction with generics and the TMonitor record.
http://blogs.embarcadero.com/abauer/2008/09/25/38870
David Clegg describes how he uses generics and anonymous methods to create threads that will return a result of some kind and notify the calling thread of it's progress as it goes.
http://blogs.embarcadero.com/dclegg/2013/04/30/127