Poor training, poor tactics, poor supply/logistics, poor operational security. And despite Russia's supposed doctrine of having very tight infantry/mechanized unit integration, their mechanized forced have been very vulnerable to Ukraine's infantry. Especially early in the war, Russia's mechanized units were running out of food, water, fuel, and ammunition.
Russia used Ukraine's mobile network and cell phones, then when they realized Ukraine was just targeting where they saw lots of Russian phone numbers, they stole Ukrainian phones off civilians...so Ukraine started accepting reports of stole SIMs/phones and tracking those.
Turns out that surrounding yourself with people who tell you what you want to hear (and who are siphoning off every ruble they can into their own pockets) isn't that great for having a strong armed service.
Also, you've got a force with a lot of conscripts who were lied to about what they were doing, versus a force which has watched their friends and family get butchered. That's one reason you don't go around slaughtering civilian populations...it makes for a very, very motivated, united, angry enemy.