Macaroons can be attenuated and delegated in ways that JWTs can not. Restricting the access granted by a JWT requires having the initial keys used to sign the token. Macaroons also have a built-in mechanism for verifying assertions made by third parties (in the form of "third party caveats")