Why didn't I get badge name right now?
(even though the badge progress tracker on my user profile or the review stats page indicates that I qualify for the badge; I even got the message "Congratulations - you earned [badge name]")
Most badges (with the exception of the Informed badge) are awarded by a scheduled job which runs once every hour and are non-deterministic, i.e. there is no guarantee that your badge will be awarded within an hour. Some badges, such as Explainer, have longer award intervals.
Additionally, if you cease to qualify for the badge before the badge script runs, you won't earn the badge. For instance, if one of your questions receives a score of 10, but it gets downvoted to 9 before the script runs, you won't earn the Nice Question badge. If the badge is one that can be tracked in the user profile, it may take some time before it once again shows up as a trackable badge.
Tag badges are based on tag scores, and those are calculated once every day (in the early UTC morning), so tag badges are awarded (and revoked) even less often.
More information can be found here: How long does it take for badges to be awarded? How are they generated?
What are "retired" badges?
Retired badges are those badges that are no longer awarded by the system, either because the feature they are related to was later removed, or because the team has decided that it promotes some type of activity that should no longer be promoted.
Users who earned retired badges will still be able to keep them, but they can no longer be awarded to new users or existing users who haven't. Note that it's still possible to "earn" retired badges by merging an older account with a retired badge into a newer account without it; this is why you may still see them being awarded from time to time.
Note that the revoked Stack Overflow Documentation badges don't fall under this definition of retired, even though you may see them being referred to as "retired".