Remember, this markup us to help the search engine understand the difference between different language versions of your site. As you may have different versions for specific regions it does allow us to align countries.
1. The same or near same content on different country version sites in the same
language typically with just currency variations for GBP or USD
2. The same content in different languages on the same site or different country versions
3. If you have a main global page for all visitors and a country selector for individual countries and languages
4. You IP detection to detect the location or language preference and redirect the user to that site version.
Remember, this markup us to help the search engine understand the
difference between language versions of your site. For example, If have a global or US version of the site with out any country designation /us and also have a UK version using /uk or uk.mysite.com then you should use the HREFLang mark-up as the search engines may use the global version in the UK as it may have more link value. By adding a hreflang element you are telling the search engine the /uk version is specific to Great Britain and it will replace the global version in the UK search results.