Last year, I had the delightful experience of teaching a primarily non-majors intro to CS course. The top 10-15% of that class (of FOUR HUNDRED STUDENTS) could easily compete with our majors. Here's a bit of what they did, after one semester, with no prior programming experience:
https://www.cs.cmu.edu/~112/gallery.html
There were a lot of students in that class who could become first-class computer scientists if they chose to. And they probably won't - they have other things they want to do.
But what a lot of them will do, now, is integrate programming into their careers as engineers, artists, scientists, and everything else, when it makes sense to do so. And they'll get a huge leg up on their competitors in doing so as computing continues to expand more widely into our digital and physical lives.
Add to this the huge number of people who don't have the opportunity to learn to program in the first place. This is a very US-centric view, but our high schools, by and large, are absolutely garbage at teaching CS. There are some stand-out exceptions, but most of our high schools do a great job of convincing most students, particularly those not of the "geeky young white male" persuasion, to stay the hell away from CS. (I say this as a formerly young geeky white male who was actually convinced by his HS experience not to go into CS, until switching back into it late in college. I finished a biology degree in the meantime until I realized that CS was far more awesome than my abysmal high school experience had suggested.)
The combination of deep domain-specific expertise with reasonable programming abilities is very powerful, because for the right problems, it acts as a huge force multiplier and/or eliminator-of-tedious-crap.
Together with the fact that it's a useful mode of thinking, this is why we should be teaching more people to program.