Preheat the oven to 350°F. Grease three 9-inch cake pans with butter and flour or spray with baking spray. Cut three parchment paper disks to fit the bottoms of the pans and place a disk in each pan, then grease or spray the parchment.
In a large bowl whisk together the dry ingredients: 2 cups all-purpose flour, 2 cups granulated sugar, 2 teaspoons baking soda, ½ teaspoon baking powder, 2 teaspoons ground cinnamon, 1 teaspoon ground nutmeg, and 1 teaspoon salt.
In the bowl of a stand mixer (or a separate large bowl) combine the wet ingredients: 4 eggs, 1 ½ cups vegetable oil, 1 teaspoon vanilla extract, ½ teaspoon almond extract, and ½ teaspoon orange flavoring. Beat briefly to combine.
Add the dry ingredients to the wet ingredients and mix on low speed (or stir by hand) until just combined, about 30–60 seconds. Scrape the bowl as needed.
Fold in 3 cups grated carrots and 1 ½ cups chopped pecans (optional) with a spatula until evenly distributed.
Divide the batter evenly among the three prepared 9-inch pans (use a scale or divide by eye so each pan gets roughly the same amount).
Bake at 350°F until the cakes are set and a toothpick inserted into the center comes out clean, about 25–35 minutes. Remove the pans from the oven and place on a wire rack.
Cool the cakes in the pans about 10 minutes. Run a knife around the edges of each pan, invert each pan onto a wire rack, peel off the parchment, and allow the layers to cool completely.
While the layers cool, make the icing: beat together 3 blocks room-temperature cream cheese, 1 ½ sticks room-temperature whole butter, 8 oz powdered sugar, ¼ cup sour cream, 1 teaspoon vanilla extract, and ½ teaspoon almond extract until smooth and creamy. If the icing is too thick, add milk 1 tablespoon at a time until it reaches a spreadable consistency.
Assemble the cake: place the first cooled cake layer on your serving plate or cake stand with the top-side down (this gives a smooth top). Spoon about ½–¾ cup of icing onto the first layer and spread evenly.
Place the second layer top-side down on the frosted first layer. Spoon about ½–¾ cup of icing onto the second layer and spread evenly.
Place the third layer top-side down on the stack. Use the remaining icing to frost the top and sides of the cake, smoothing with a spatula.
Refrigerate briefly if desired to set the icing, then bring to serving temperature and serve.