Things my LDS does that mean I'll pretty much never leave:
Great staff -- people persons every last one who are not on commission and who will spend however long a customer needs to spend to answer their questions.
All the little things -- If I need a particular bolt, buckle, d-ring whatever they have them sitting in bins, there's replacement bulbs for lights, there's rings and seals of every size and material. They go well out of their way to make sure they have the parts IN STOCK for anything and everything -- even if it is for equipment they don't sell.
Seminars and Events -- Fun dives, lectures, service dives (lake clean ups are very popular), interesting and informative slide shows on upcoming travel, lots of travel opportunities, cook-outs at the lakes combined with 'try it' dives where the new gear is there to play with, and so on. In other words, do what the on-line retailers can't offer -- interpersonal fun activities that engage the diving community. Become known as the LDS to be around to actually do diving related things.
Speaking of Travel -- offer unique travel opportunities. Everyone goes to Coz. Have you offered a trip to dive in Iceland? Norway? Antarctica? Vanuatu? Fiji? Truk? Egypt? Tech dive trips? Do you offer only 1 week trips? Add a 2-week one, you might be surprised at how many people are interested! How about hitting the wrecks in the Great Lakes? Cage diving with great whites? Have the Caribbean trip, but offer a wide variety of trips, you'll catch the interest of a lot more people.
Exceptional Classes -- everyone has training. What do you do to make yours top theirs? It can be little things like having women's BCs, in all sizes, available for retail gear. It can be big things like a BBQ at the lake after every class with all of the instructors who aren't working showing up to congratulate the new divers. It can be goofy things like little cheap prizes for students answering questions. It must include only using the very best instructors and assistants you can find. Monitor your classes and question your customers about how the classes can be better. Listen to them! You have to, at the end of the day, make it clear that your classes are just better experiences.
It all comes down to this: customers will 'stick' with shops that make them feel welcome and which provide them with meaningful experiences that make those customers want to be at the shop. If people are walking in your store to just hang around and BS for an 'after work surface interval' every couple of weeks, they're going to pick up that new reg on the wall from you the next time they're in rather than even shop on-line. If you don't have the customers in the store, all the time, then you're going to struggle.
Lastly, diversify your offerings. Do you carry gear aimed at the local high school swimming and diving teams? Do you offer gear for boaters? If you have your own pool, do you offer swimming classes through the local community ed programs? Do you market your red cross and efr courses widely? Getting customers in the store is a big part of selling your wares to them, and there's plenty of ways to do that which are only tangentially related to scuba.