The difference is that putting them on roofs of a building or electric cars on the road will make sense economically in the foreseeable future, not "never." Solar panels on the roof of a car don't make sense economically based on the energy they can harness, even thinking about advances coming in 10-20 years. The others are pretty good today, and get better over time.It totally makes sense to get the US and the world off of oil, to stop the global warming pollution, to save the planetary ecology and, if that fails, build space faring capability in case we wreck the place.
But those endeavors, Solar City, Tesla and SpaceX were highly risky and Musk did it because it was the right thing to do, not to make money. It's not about the money.
Same with putting solar panels on EV cars. It's not so much about the 2-3 miles a day, the 1kWh per day, its about the idea of doing it. It makes sense.
Again - if he was running a nonprofit, things would be different. They make a bigger impact in getting people to switch behaviors by lowering the cost of an EV and good education/awareness rather than a "cool" solar panel on the roof of a car that adds 1 mile per day under ideal conditions.