What are the key differences between REST and GraphQL, and in what scenario would you mandate one over the other?