I think it's a combination of all those things, a good choice of fabric, kits and classes. Also a friendly and helpful staff, a shop that is clean and organized and a good website. My favorite shop also has a room that has sale items. She rotates her fabric and notions often, marks them down and puts them in an area in her back room. She has a color of the month and has that color at 20% of. It's just all those details that make you want to keep going back. Good luck