Preheat the oven to 350°F (175°C). Grease and flour two 9-inch round cake pans, and line the bottoms with parchment paper.
In a medium bowl, whisk together the flour, baking powder, baking soda, and salt.
In a large bowl, cream the butter and sugar with an electric mixer until light and fluffy (about 3–4 minutes).
Add the eggs one at a time, beating well after each addition. Stir in the vanilla extract.
Alternate adding the flour mixture and buttermilk to the butter mixture in three additions, beginning and ending with the dry ingredients. Mix until just combined.
Divide the batter evenly between the prepared pans and smooth the tops. Bake for 25–30 minutes, or until a toothpick inserted in the center comes out clean.
Cool the cakes in the pans for 10 minutes, then transfer to a wire rack to cool completely.
Meanwhile, make the caramel sauce: In a dry saucepan over medium heat, melt the sugar until golden amber, stirring occasionally. Stir in the butter until melted, then slowly pour in the cream while whisking. Add a pinch of salt and cook for 1–2 more minutes. Let cool slightly.
To make the frosting, beat the butter until creamy. Gradually add powdered sugar. Mix in caramel sauce, vanilla extract, and cream. Beat until smooth and fluffy.
Assemble the cake: Place one layer on a serving plate or cake stand. Frost the top, drizzle with caramel sauce, and sprinkle with toffee bits. Add the second cake layer and repeat. Frost the entire cake and finish with extra caramel, toffee, and chopped pecans if using.