Place sugar and water into a medium pot, stir to combine, but to not stir from this point forward. Cook over high heat, washing down the sides of the pot with a pastry brush dipped in water as needed to prevent crystals.
Cook until desired color of caramel is reached (amber) and immediately remove from heat. Very slowly pour in (room temperature) heavy cream while whisking quickly. The mixture will bubble up (a lot) and boil. Add (room temperature) butter, return to heat, and bring back to a boil. Simmer for 2 minutes whisking constantly.
If you want to make this a salted caramel, add your salt at this point. Whisk it in (start with less than you think you'll need), dip a spoon into the caramel, let it cool, taste it, add more salt as needed.
Remove from heat and let cool to room temperature (about 2 hours). Transfer to a container and place in fridge to thicken.*
Preheat oven to 350F. Grease and flour three 6" cake rounds, line with parchment.
In a medium bowl, combine flour, baking powder, and salt. Set aside.
In the bowl of a stand mixer combine butter and sugar. Beat on med-high until pale and fluffy (2-3 mins). Add eggs one at a time, fully incorporating after each addition. Add vanilla and caramel and mix until incorporated.
Alternate adding flour mixture and milk, beginning and ending with flour (3 additions of flour and 2 of milk). Fully incorporating after each addition.
Spread batter evenly into prepared pans and bake for 35-40 mins or until a toothpick inserted into the center comes out mostly clean.
Place cakes on wire rack to cool for 10mins then turn out onto wire rack to cool completely.
Caramel Swiss Meringue Buttercream:
Place egg whites and sugar into the bowl of a stand mixer, whisk until combined.**
Place bowl over a pot with 1-2" of simmering water and whisk constantly until the mixture is hot and no longer grainy to the touch or reads 160F on a candy thermometer (about 3mins)
Place bowl on your stand mixer and whip on med-high until the meringue is stiff and cooled (the bowl is no longer warm to the touch (approx. 5-10mins)).
Switch to paddle attachment. Slowly add cubed butter and mix until smooth.
Add cooled caramel and whip until smooth.*** Add additional salt if desired if making a salted caramel buttercream.
Trim cake layers slightly. Place one layer of cake on a cake stand or serving plate. Top with 1-2 Tbsp cooled caramel. Spread evenly pressing into the cake layers so the cake absorbs the sauce. Top with 2/3 cup of frosting, spread evenly. Repeat with remaining layers.
Frost and smooth the outside with a thin crumb coat. Chill for 20mins.
Frost and smooth the outside of the cake, generously frosting the sides specifically. Smooth with an icing smoother. Use a cake comb on the sides of the cake. Repeat, scraping off more frosting each time, until smooth.
Using a small spoon, place dollops of caramel around the top edges of the cooled cake, allowing some to drip down.****
Fill in the top of the cake with more caramel and spread evenly with an offset spatula. Pipe rosette dollops using a 1M tip with remainder of frosting.
* The caramel can be made the day before and left in the fridge overnight. ** Ensure there is NO trace of egg yolks in your whites and that your mixer bowl and whisk is completely grease free or your meringue won't stiffen. *** The buttercream may look like it's curdled at some point. Keep mixing until it is completely smooth. **** If caramel has thickened too much, microwave in 5-10 second intervals until it's pourable (but not warm). You want the caramel to be rather thick for the drips. It will continue to drip down.