For my contest-winning chili, I use a combination of browned, cubed beef and ground lamb (or goat, when I can get it).
Long and slow simmering is definitely required. Two hours is a minimum.
For my spices, I use lots of cumin, adding more in the last five minutes of cooking. I also use a little Mexican oregano, bay leaf (I prefer powdered), onion, garlic, and of course an assortment of chili peppers--the chilis, too, can be supplemented in the last bit of cooking. Just which ones and in what quantities will vary depending on how hot I want to make it. I do not add tomatoes, ever.
My two 'secret ingredients' are cocoa powder and a shot of strong coffee. I like my flavors a bit dark and these additions do the trick.
Perhaps most important is to not plan on eating it the day I prepare it. It's vastly better once it's had the chance to sit overnighti in the refrigerator.
I serve it with lots of freshly chopped cilantro and onion. If you want cheese or sour cream, or Mexican crema, that's fine... you're the one eating it.
Beans or no beans? I'll leave that fight to others.
Expanding on the two previous answers...
1) Long cooking time - this is they key as it allows connective tissue to break down in the meat and also makes sure the complex carbs like beans are properly cooked. It also allows the many flavors in the ingredients to meld better and intensifies everything. Note - this is less true for vegetarian chilis because you CAN overcook things and make a homogenous glop.
2) Plenty of ingredients. Chili is the kind of dish that gets its magic from a blending of many complex flavors. There are a few constants as Phoebe mentioned - tomato, cumin, some kind of allium (onion/garlic) and something spicy. Then you get into religious chili wars about if it should or should not have beans or meat. But really you want plenty of ingredients in terms of herbs and spices as well as body.
I like both meat and beans in my chili personally and usually use at least five herbs and spices plus some veggies besides the meat.