Unimplemented methods on simple servers, features stubbed out in an API before launch, and proxies that do not understand a newer method.
Why you would test it
Send a method nothing implements (PROPFIND, or a made-up one) and check your client reports "unsupported" rather than "server down".
What your client should do about a 501
Do not retry; the server is telling you the capability does not exist. Fall back to a supported method or feature.
501 versus the codes it gets confused with
501 vs 405 Method Not Allowed — 405 means this resource does not allow the method, but others might. 501 means the server does not implement it anywhere.
501 vs 503 Service Unavailable — 503 is temporary. 501 is permanent until the server changes.
Endpoints that return 501
1 endpoint in this playground answers with 501. Every one is free, needs no signup, and can be called from the browser or with curl.