In my experience, the difference between chili and good chili is well defined flavors & textures.
Just throwing all the ingredients in a pot and letting it cook for a few hours may be accepted 85%of the time but when you want to get your Julia Child on keep it more like a stew and less like a soup.
For example, cut up some red onions at the start, and by the end of cooking, they're indistinguishable. The flavor is in there mixed with tomato, peppers, and everything else. That's an expected chili flavor, but for some definition, the same taste with a discernible texture, add another handful of chopped red onions more than halfway through the simmer. Or change it up with chopped green onions or shallots.
If you have a variety of chiles, try adding them at different stages of cooking. Say a coarsely chopped 1/4 cup in the initial sautee, and a tablespoon of finely chopped in the last 30 minutes. Better yet, a tablespoon of fine at the onset, and a 1/2 cup of smoked and skinned mixed chiles near the end. And go for the heat/flavor spectrum. All habanero might be good for a laugh, but if there are layers of jalepneo, poblanos, and cayenne under the habenero slap, it will be worth the snot, sweat, and tears.
Another good to great move involves meat preparation. That $9 per pound sirloin is wasted after cooking for 3 hours. Overcooked meat is tough and chewy meat. Smoke a roast over hickory, cut it up and put it in the pot less than an hour before serving. Grill a peppered pork tenderloin over high heat after the pot is simmering, cube it and add it late in the game. Stir fry chicken breast in heavy garlic, etc. Do all three, but don't overcook the meat.
Chili is a very personal thing, and if done well, it's wonderful.