Wash and dry the apples thoroughly. Remove stems and insert a wooden stick into the top of each apple.
Line a baking sheet with parchment paper and lightly grease it.
In a heavy-bottomed saucepan over medium heat, melt the butter.
Add brown sugar, cream, corn syrup (or substitute), and salt. Stir constantly until the sugar dissolves.
Attach a candy thermometer if using. Bring the mixture to a boil and continue to cook, stirring occasionally, until the caramel reaches 245°F (firm ball stage), about 10-12 minutes.
Remove from heat and stir in the vanilla extract.
Let the caramel cool slightly (2-3 minutes) so it thickens a bit for better coating.
Holding each apple by the stick, dip into the caramel, turning to coat completely. Let excess drip off.
Roll in optional toppings if using, and place each apple on the greased parchment paper.
Let cool completely at room temperature until caramel is set, about 30 minutes.