I agree. In many locations (probably the more touristy the location, the more this is true) true locals (within your town) are not going to be your best source of guests. Advertising to them is usually a bit of a waste of money. We found this in our area. Locals won't pay our rates. If the choice is between spending $300 to advertise to locals vs spending $300 to advertise in a city that feeds the source of visitors to the area, go for the source.
Though that doesn't mean you shouldn't make yourself known to others in the tourism industry in your area. (often times restaurants don't realise they are in the tourism industry). Do what you can to make yourself known in that regard.
It is important to keep in mind though that some B&B's primary focus is in providing lodging to people coming in to visit with locals (family or whatever). Again it all depends on location and the type of place you are trying to be.
We chose not to market to locals for the added reason that we didn't necessarily want friends of locals staying here. We didn't want to run the risk of friends of locals staying here and then inviting all their local friends to join them on our beach. That happens a lot to the places that rent cottages or trailer spots on the lake here. One person rents a spot and then everyone else decends like locusts. We wanted to avoid that..
We were having dinner out and heard a family at the next table ask the waiter would he recommend a place to stay. He said, 'Yeah, there's a (chain hotel) right around the corner.'
OK, here's the tough one...the guy who turned my place into the B&B originally is a chef at that restaurant. When the waiter came to our table I said, 'We have a B&B right up the street from here. Here's our card if you ever get anyone looking for a place to stay.'
He said, 'Do you want me to give this to those folks?' I told him it was ok as we were not going home right away so the guests should probably go to the hotel (3 small kids). Just wanted to let him know there are alternatives.
It's something this town goes thru every single year...'Let's get everyone together and teach them what's here in town.' Then this store won't let their staff off to go on the tour bus and that store thinks it's a waste of time because they're not in the lodging business. (Yes, lodging owners HAVE said, 'I'm not in retail, but I know what your store stocks and what your hours are.') Stores don't care. Tourists are going to see them when they walk around.
It's the whole 'You need us, we don't need you' mentality. Tourists would still come in droves if there were no places to stay. (They haul them in by the busload here.) What retail doesn't get is if they tell the tourist a nice place to stay (or, if that is too much effort, hand them a map and say, 'Here are the accommodations.'), that tourist may just be shopping again tomorrow. If they don't stay overnight, they definitely are NOT going to be shopping in that store, or any store in this town, tomorrow.
That can be part of the local mentality. Then again, most of the staff in the stores are kids and they don't live here.