Then you're an expert. For about three months. Meanwhile while you're up to speed, things outside your organization are changing. If you're not paying attention, you end up with the proverbial "10 years of experience" comprised of 10 years of the same experience. I've seen several of my friends who just coded at work find themselves without jobs when times got tight, and unable to find a new job because they had out of date skills.
Investing in my skillset on my own time with my own rules is an investment in me. I don't particularly care if it makes me a better programmer - it's a contingency plan to make sure I can support my family in both good times and bad.
I think it varies wildly upon the situation. I've had 3 full time corporate jobs and not one of them required enough depth of knowledge to become an expert at anything besides SQL. I've pretty much learned all that is necessary to add any random feature requested to the codebase I work with so I could let my skills stagnate for years here and be no worse off at this job. IMO, doing so would eventually make me a bad programmer.
When you're 30 and you're seeing the same thing with a new name for the 2nd or 3rd time it takes a lot less effort and time to keep up.