That, and some subjects are really hard to learn at home/at job. Learning Linear algebra at home would be really hard, but learning some new programming language would work fine.
Yes, this is so true. Too many people just want the immediately useful information, but this is not what universities is for! In Uni we should learn things that can be relevant decades later. Not just learn the most modern tools that is currently used in industry. It should be coupled with that too, but not only.
The short 2 year educations to learn CS basics are kind of like the fast food of learning. It gets you there, but something is missing.