That's precisely the point of CDNs, to have local cache of the same data in various parts of the world instead of one single cache for the entire world.
In the case of Xbox Live, in order to avoid overloading its main network from tens of million of gamers downloading 40GB of games all at the same time, Microsoft has to pre-load the data to various edge servers it uses for its own CDN network before making it available to gamers. So that UK gamers can grab it from the local UK cache, which doesn't use any bandwidth allocated for the US cache once US customers wake up.
Apple has hundreds of millions of iOS users all over the world, serving 600-1GB update files all from a single server in US is simply not going to work. They have to pay millions of dollars per year to have other third party companies to do this for them. With today's article, they are simply cutting those companies out and wants to serve its content locally in those locations. This would probably save them a lot of money because you can buy bulk amount of bandwidth from those transits/ISPs/etc companies and bandwidth costs always decline over time. However, third-party CDN providers may not pass on those savings to customers right away, they'll use it to build out their own networks to speed it up in addition to paying their shareholders some profit.
In the case of the throttling speed, yes, that's absolutely against the network neutrality since ISPs are filtering those packets out intentionally to slow it down.
As long as ISP doesn't treat any packets differently, it's not violating any network neutrality. If an ISP makes a deal to prioritize Apple's data over other packets, that's against network neutrality. However, if an ISP makes a deal to let Apple store content within their networks for Apple's servers and does not prioritize it over other packets, than it is not against network neutrality. (Note routing customers to the local Apple server instead of remote servers out of state or country is not the same as prioritizing it over other packets).
PS: CDNs are also used to localize contents. For an example, instead of using up a lot of space for different media in different languages in one US server, you can simply store the Russian content on servers hosted in Russia.