My guess is that various apps have different ways on how they interpret the data from the analog sticks.
Maybe the guys who built the eShop tried to do something fancy (or bothered to do something fancy) and that is why you might see some different behavior.