I think a portfolio is a good thing and suggest it myself, even to people with the educational background. I try not to suggest it as a silver bullet and say it's easy for everyone.
The problem with suggesting this to people who are learning on their own is that building a portfolio takes time. Sure, if you're young and single, you could wait tables and learn to code. But it's more difficult to find the time as you take on more obligations with age.
The other problem is picking the right projects and languages that hold some appeal to the rare employers who will give you a chance. People are also less likely to cut someone some slack for sloppy code, due to lack of experience and knowledge, and other early coder problems.
The last problem is not being able to network successfully to find those less common employers who will give you a chance. And avoiding the bad employers who promise experience, but ultimately have them working as an on-call contractor who just reboots the printers.
Having any college degree helps a lot, but without it many doors remain closed even with a portfolio.