System Design Interview Question: When Should You Use a Message Queue?
Short answer: use a message queue when work doesn't need to finish within the user's request, when producers and consumers should scale and fail independently, or when traffic bursts need buffering. Classic uses Sending emails, generating PDFs, resizing images...