Preheat oven to 350°F. Spray a non-stick bundt pan with baking spray or butter and flour.
Using an electric mixer, cream together the butter, shortening, vanilla, brown and granulated sugars in a large mixing bowl. Beat for 2 minutes or until creamy and light beige in color.
Add the eggs one at a time beating well after each addition stopping to scrape the sides of the bowl as needed.
In a separate bowl, use a whisk to sift together flour, baking powder and salt. Lower the speed of the mixer and add the flour mixture to the creamed mixture alternately with the buttermilk.
After all of the dry ingredients are added, increase the speed of the mixer to medium and beat until fully combined for around 30-45 seconds. Stop and scrape the bowl periodically.
Pour batter evenly into the prepared bundt pan. Bake for 35-45 minutes or until a cake tester or a toothpick inserted into the center comes back clean.
Cool in the pan for 15 minutes then turn onto a wire rack to cool completely.
Caramel Frosting: Meanwhile, in a heavy bottomed saucepan over medium heat melt together brown sugar, condensed milk, butter and vanilla. Simmer for 2 minutes until sugar is completely melted. Set aside to cool to warm but, still it should still be pourable. (It thickens as it cools.)
Pour caramel frosting over cake until all has been used. Drizzle the frosting slowly, so it doesn't all pool around the bottom. Sprinkle the top with toasted walnuts or pecans, if desired.
Store in an airtight container chilled fin the refrigerator for up to one week.