According to documentation, both represent “anonymous functions”, and, for historical reasons, “there are two syntactic flavours of anonymous functions, namely lambda_expressions and anonymous_method_expressions. For almost all purposes, lambda_expressions are more concise and expressive than anonymous_method_expressions, which remain in the language for backwards compatibility [https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#anonymous-function-expressions].
The old form with ‘delegate’ seems rarely used.