Why is it flawed, you might ask? Well friends, it's because it's region locked. The games you gift only work in the currency region you purchased the game for, unlike Steam, which allows you to gift games across any region.
It's great that Microsoft finally delivered one of Xbox UserVoice's most requested features, but the region locking severely restricts its usefulness. It's 2017, people have friends online, what gives?
Perhaps there are complex legal issues or other consequences preventing this from becoming a truly good gifting system. For example, you could potentially abuse regional currencies to acquire games for cheaper (although, why this isn't an issue for Steam, is unclear). In any case, that's not the biggest problem with this system.
The system doesn't prevent you from gifting games outside of your region. There's a tiny warning message that, evidently from the amount of Twitter DMs I've been getting about this, few people are seeing.
There are a few solutions here. Either Microsoft needs a bigger warning about the region locking, or they could, I don't know, just make it region free. Perhaps include some kind of small currency conversion fee, similarly to PayPal cross-region money gifting, if that's the issue here. You can swap your Xbox console region in settings to redeem the codes, but I'm not sure how much Microsoft will want to advertise that fact to the masses, if indeed it is a legal issue preventing region free gifting. Since it's so easy to switch region to redeem the keys, why not just make it region free anyway?
In any case, the current implementation is leading people to spend money on gifts that can't be readily redeemed, which is annoying for the buyer, and disappointing for the recipient. I doubt Microsoft intended to create an intentionally frustrating, misleading system, but here it is. It feels like a rushed implementation, and a bit of a missed opportunity for Xbox gamers to be able to celebrate the global community that is Xbox Live this holiday season.