I like Mariokart 7 because it has 3D and is portable, and i prefer that over the better graphics and new items (which there are like 2 of) in mariokart 8 (although i really like the Mariokart 8 DLC Courses)
MK8 is better.
It plays better, its controls are way better (the 3DS makes my hand get tired too quick), the graphics in MK8 are beautiful. And I think I have played it so much more than MK7, that I just like it out of habit also.
MK7 is also great, being portable and everything. BUT I HATE THE LOCAL MULTIPLAYER REGION LOCK SO MUCH THAT IT CAN BURN IN HELL KTHXBYE.
You see, I live in Europe and I have an European 3DS, but I travel from time to time to Argentina (American 3DS region), and I like to play with my friends.
Back in the awesome Mario Kart DS days, it was all great. But Nintendo had to fuck it up.
Perhaps an update fixed the region lock local multiplayer problems (yeah sure, Nintendo), but I ragequit trying to play local between different region handhelds after the first time frustration.
PS: Also fuck 3D, it is a beautiful gimmick for cutscenes, and it also looks great in Majora's Mask (really, it looks great there), but no chance I enable it for MK7, I move a lot when playing with friends (you know, just to laugh at them when I blueshell one of them e.g.) and the 3D doesn't work good there, actually it gives me headaches.
I think Mario Kart 7 is overall a better challenge I might like it more because of that. Mario Kart 8 is really really easy, the track design is too forgiving. I love MK8 though. It has so much content. Also I got MK7 new for like 20$ when MK8+(indispensable dlcs) is ~70$. Maybe 50$ if you get some kind of deal.