Preheat the oven to 350°F (175°C). Prepare two 9-inch round cake pans by greasing and flouring them. In a medium bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
In a large mixing bowl, use an electric mixer to beat the softened unsalted butter and granulated sugar until the mixture is light and fluffy, about 3 to 5 minutes. Add the eggs one at a time, beating well after each addition, then mix in the vanilla extract.
Gradually incorporate the flour mixture and whole milk into the butter mixture, alternating between the two and starting and ending with the flour mixture. Mix just until combined. Gently fold in the chopped pecans using a spatula.
Divide the batter evenly between the prepared pans. Bake for 35 to 40 minutes, or until a toothpick inserted into the center comes out clean. Allow the cakes to cool in the pans for 10 minutes before transferring them to a wire rack to cool completely.
For the caramel frosting, combine 1 cup packed brown sugar, ¼ cup whole milk, and 1 cup unsalted butter in a saucepan over medium heat. Stir until the mixture is melted and smooth. Remove from heat and let it cool slightly, then beat in the powdered sugar and vanilla extract until smooth and spreadable.
For the caramel topping, melt 1 cup butter with 1 cup packed brown sugar and ¼ cup whole milk in another saucepan over medium heat. Stir frequently until the mixture thickens slightly. Let it cool before drizzling over the frosted cake.
Once the cakes are fully cooled, spread a layer of caramel frosting over one cake layer. Place the second layer on top, then frost the entire cake with the remaining frosting.
Drizzle the caramel topping generously over the cake, allowing it to drip down the sides. Optionally, garnish with extra chopped pecans.