Let me give you an example that will make the problem clear: I live in Des Moines. I have family in El Paso. A regular daily flight from Des Moines to El Paso would average about 2 passengers each flight - but some days the plane would be empty, others it would have 5. Depending of course on when various people/families in either city decides to visit the other.
With the hub and spoke model instead they fly 60 people from Des Moines to a hub, and then 4 transfer to the plane to El Paso, 2 to the flight to (pick a random tiny city). On the return trip they collect all those people again.
Of course if you live in New York city this doesn't matter to you: New York is large enough to have a direct flight to nearly every small city, and could fill them even without being a hub (though as a hub they can fill larger, more efficient planes). To those of us to live in tiny cities we cannot get to other tiny cities because the flights just don't exist. The downside is we pay about twice as much for our tickets as we are paying for two tickets, but we can still get there.
Any time an airline notices a lot of people trying to get from one city to another they will add direct flights. Computers are good at figuring out where the demand is and airlines know a nearly full direct flight will capture the a lot of tickets that otherwise might go to competition. Big vacation destinations thus do not have to be a hub to get regular direct flights.