Effort is the usual culprit
Most stalled lifters stop 5 or more reps short of failure without realising it. If your last rep looks the same speed as your first, push closer to 1 to 2 reps in reserve so the muscle actually gets a growth signal.
You are likely under training volume, never getting close to failure, adding no load over time, or eating too little protein and calories.
Training alone does not grow muscle. You need 10 to 20 hard sets per muscle per week, each taken within 0 to 3 reps of failure, with the weight or reps creeping up week to week. Pair that with roughly 1.6 to 2.2 g of protein per kg of bodyweight and enough calories to at least hold your weight, plus 7 to 9 hours of sleep.
Most stalled lifters stop 5 or more reps short of failure without realising it. If your last rep looks the same speed as your first, push closer to 1 to 2 reps in reserve so the muscle actually gets a growth signal.
Doing the same 3 sets of 10 with the same 20kg for months tells your body nothing new. Log every set and beat it, either add a rep or add 1 to 2.5kg once you hit the top of your range.
You cannot build much tissue in a steep deficit. Eat at maintenance or a slight surplus, hit 1.6 to 2.2 g protein per kg, and check the scale trends up slowly over a month.
You are likely under training volume, never getting close to failure, adding no load over time, or eating too little protein and calories.