I'll admit using shallots are a total cooking snob move. Up until about a year ago I had used them occasionally in my cooking, but after reading Kitchen Confidential and hearing that's what chefs use to nudge their cooking up I've made them a staple in my kitchen.
There is rarely a trip I make to the store where I don't pick some up now. I tend to always have three or four, if not more, on the windowsill of my kitchen ready to go in case I need them. I know people do this with onions as well, and onions are great. But if you need something a bit more subtle, but still a great flavor use a shallot.
I use them in a lot of different aspects of my cooking to give food an extra little flavor and kick. From pan sauces to pasta a shallot can make all the difference and just add another dimension of flavor.
And yes, I guess they're kind of expensive. The Dominick's I shop at had a bulk bin where I grab mine from, but I never seem to spend more than $2 on them. You can spend that on two onions. And I prefer shallots because you use the whole thing and don't have to worry about half an onion stinking up your fridge.
Inspired by this post last week on Chicagoist I decided to make a frittata this weekend, but instead of using onions I used shallots. It had a nice rich flavor and was really easy to make, something I am sure to experiment with in the future.