What I've seen stated is that the majority of the 20k deaths on the Russian side this year are Wagnerites, and the majority of those were prison convicts, i.e. probably the worst troops Russia has. Up to this point, Russia has been disproportionately conscripting convicts and ethnic minorities from the far-flung, extra-poor areas of the country. Not exactly their best and brightest. They've also lost most of their best-trained troops, and have even deployed many units whose function was to train new recruits. They've lost 2000 tanks and 10k total vehicles. Also, several hundred thousand military-service-aged young men have fled the country. That's just on the "staffing the military" side.
Then add in the economic side of things. Russia already has a labor shortage, and is facing a demographic time bomb--the current 0-20 cohort is something like 30% smaller than the 20-40 cohort. Their oil and gas exports have been cut dramatically (they've basically lost the entire European market), and what they *can* sell must be sold at a discount.
Ukraine has also taken tremendous casualties, but they have more tanks, trucks, and armored vehicles now than they did a year ago. Ukraine has lost a huge portion of their population as refugees, but manpower for the army doesn't seem to be a bottleneck for them at this point. They have much *better* equipment than they did a year ago (HIMARS, HARMS, Bradleys, Leopards, all the various SAMs, GLSDBs, western cold weather gear, body armor, etc), and the West has been helping train infantry, not just the tank crews.
From what I've heard, it sounds like Ukraine is fighting Russia to a stalemate while keeping a whole lot of troops in reserve, prepping for an offensive. It appears that Russia has "culminated," i.e. they've passed the peak of their ability to conduct offensive operations, and so it's more a question of "how effectively can Ukraine conduct their own offensive?"
The longer Ukraine waits to begin an offensive in earnest, the more time Russia has to further entrench and supply their forces on the front line. But at the same time, the better Ukraine's forces get, as more troops are trained and more equipment arrives. At the same time, the longer the Russian troops sit in their trenches waiting for an attack that may never come, the lower the morale will get. At the same time, the longer it takes, the more likely people in the west will lose interest and start looking at the next shiny thing. But Russia's economy will continue to decline. But so will Ukraine's. You can go back and forth all day.
In my opinion, if Ukraine can stage their equipment right and surprise Russia in whatever direction, I'd say they should attack ASAP. Momentum is a real thing, and if they can manage their logistics better than they did during the earlier Kharkhiv offensive (where they sort of stalled out short of Svatove), they could cause a rout and roll up a whole bunch of the occupied areas. But there's a reason why I'm sitting behind a desk doing engineering stuff and not a tactician :)