But there's a lot of programming to do where domain knowledge is absolute essential, and if it turns out you find one of those areas interesting, college is a great time to acquire that domain knowledge, in parallel with getting your certificate stamped that says you're safe to employ as a programmer.
Biology, chemistry, linguistics, cognitive science, every flavor of engineering. All of it comes with programming work to do. Protein folding, genetics, natural language processing, computer vision, CAD software, control software...
Being able to program is a useful skill, but you have to know what to program. And yes, there are plenty of companies who will happily hire a programmer to write SQL queries and copy fields from one protocol buffer to another. But those options don't go away because you also have a thorough understanding of, say, chemical engineering; you just also have another career path open to you where you can do a boatload of programming, just not with web frameworks.
Project Gutenberg exists, as does Youtube, Khan Academy, and many other free resources.
Disclaimer: I was former military and had a GI bill, plus a job with reasonably flexible hours while in school. This might not be a universal case for folks with lots of loans in an isolated college town.
Also, when comparing what one would or wouldn't benefit from, I think money should be removed from the discussion. Obviously, you gotta live when you study and the longer you study, the less you're earning through work = time spent in school is a loss of income But as this is obvious, it's enough to focus on whether a double major is worth your time or not.
Of course, there are points of view outside this too, and it is ridiculous to dismiss these perspectives as objectively wrong. Some people actually enjoy the liberal arts, the fine arts, entrepreneurship, etc.
I'm advocating taking enough classes in some other, specific topic that interests you (like, say, linguistics) that you can now apply for jobs where you program using your domain knowledge of this other field, as well as your CS skills.
At most colleges, taking a bunch of classes in a single subject usually results in a major or minor; additionally, the extra lines on your diploma that say you also know a lot about, say, structural engineering will help you when your resume is on the desk of a firm developing CAD software.
I know I came into college determined to do a double major only to realize that I probably should have made that decision after taking a few courses and evaluating my level of interest in the two subjects.