Here's a picture of the challah I make every week. This one is done with a six strand braid, but it can also be done with three strands, or a round braid, which requires four strands.
Mix the flour and salt together in an electric mixer. Add 1 egg, the honey, and yeast to the bowl, but do not mix everything yet. You can add a few dashes of spices like cinnamon or cardamom if you like. Heat the milk and butter together until the butter is melted and the mixture is warm, but not hot because hot liquid will kill the yeast. Add the milk/butter mixture. Mix all of it on the 2nd lowest setting with a dough hook until everything comes together, and then adjust to the 4th setting until the dough is smooth (about 2 minutes).
Take the dough out and fold the dough in a few times by hand, form into a ball and then transfer to an oiled bowl (preferably a metal one), cover (with a hand towel if you are in a humid area, and with plastic wrap if you are in a very dry area), and place bowl in a warm area. Let rise for 1 hour. Punch down. Let rise for 1 hour.
Cut into how many segments you require, fold each segment a few times, roll into 12 inch strands, and then braid, making sure that the ends stick to each other and that they are folded somewhat under the rest of the loaf so they don't come undone. Transfer to a baking sheet covered with parchment paper. Whisk the other egg and 2 Tbsp of water together, and glaze the bread. Loosely cover bread with plastic wrap, and place a hand towel over the plastic wrap. Let rise for 45 minutes. Preheat over to 350 degrees. Carefully remove plastic wrap, glaze loaf again, add any toppings you might like such as poppy or sesame seeds, and then transfer to the oven for 20 minutes. Place foil “hat” (can be boxy or triangular) over bread and bake for another 20 minutes. Once it's done, turn the loaf over at tap it to see if it makes a hollow sound. If it doesn't, then the bread needs to cook longer.