It's a bit arcane to use, but has proven itself over and over when doing little tasks with AWS CLI returns.
I use jq to mangle get/list requests from AWS (and others) and then recursively hit each element for whatever reason. Without jq none of my workflows in this area would be remotely easy.
TLDR: Learn JQ! It is like sed and grep, but for JSON.
Jq is so much more capable than jmespath that I find myself using jq on the json output of AWS CLI commands more than using the built-in query option. Sure, it requires another tool, but it’a often the best tool for the job.
Unless you need some additional juice, where jq supports actually transforming the return.
Quite arguably a heavier tool, e.g. a boto3 script becomes appropriate where --query falls short.
But options are a great thing to have.