. . are simply too cheap to ever have systems that work (not too cheap to buy that new Mercedes SUV, though).
Qualifying customers is very important. If the guy you talk to has a copy of Computer Shopper on his desk, it's time to say, "I'll get back to you", - and then don't. If he's got time to sift through Computer Shopper, he's going to be nothing but trouble.
Further, when he needs something done, since you charge "a lot", he'll bring in a relative who works cheap, who will screw up everything 'till it doesn't work at all, then blame it on you, 'cuz you "did it all wrong". Then he'll expect you to come in and fix it all for free (and do that other thing he needs while you're there).
I still laugh over one woman who called many years ago (as you can tell by the rate I quoted her). She gave me her story about how her "computer guy" had been working for more than a day to get a modem working, and it still didn't work. I told her I did lots of modems and could probably get it working pretty quickly, and at only $60 per hour. "Oh", she said, "No, that's way too high. The guy who's working on it only charges $35 per hour".
It's very hard to be a generalist, because then you end up having to do all the work yourself. Specializing in, say, cabling, auto-id and barcode, backup systems, a particular POS system, industrial controls, etc. makes it possible to train others to do the work. This does, however, require far more and better marketing.
Never do stuff "on the cheap" to save a customer money - it's a losing proposition. Offer a solution that costs enough to work well and properly, and put in enough for good support, and if they say they can't afford it, politely decline the work. Otherwise, the client mentally associates you with that cheap stuff that doesn't work quite right and bad support, and when they're a little more prosperous, they call in someone else to do it right. That's the guy you want to be.