Why should 10% of the time be reserved for paying technical debt?
If the technical debt were to remain constant over several years (or even quarters), I’d be OK to not have a dedicated time in the sprint. However, in reality, this is not the case. Every sprint adds to the tech. debt bucket and therefore in my opinion it is necessary to, slowly but surely, chip away the technical debt at a regular pace.
Typically, in my observations, engineers have about 10% (48mins/day or 4hrs/week) of time over the course of a 2-week sprint to either start on a new feature or fix a non-critical bug that is not on the sprint backlog or do research or something (rocks in a jar). Therefore, this makes a good candidate that engineers could pay down the technical debt (to fill up the jar).
Engineers would rather chip away the technical debt because it will make their lives easier/better than to fix a defect, which according to them reflects on their coding skills. In fact, at times, the buggy-ness is said to be a result of unpaid tech. debt. So you see, depending on the type of the tech. debt, engineers are self-motivated to pay it off.
Last but not the least, I believe in the pithy "Prevention is better than cure" and so it is important to know why is the tech. debt generated, which then requires more effort to pay it off later. Typically, more than 10% of the time is wasted in non-technical meetings during a workday. This, in a way, takes the time away from the engineers to fully complete the dev/testing before the deadline. As a Product Manager, I'd want to be able to help engineers stay focused and help them manage their calendars. If somehow, (say by an executive diktat) we can reduce this time wastage it will give engineers more time to stay focused on what they need to do and not generate tech. debt. in the first place.
A topic for a different article, but have you heard of meeting fatigue amongst engineers?