In a mixing bowl using a hand or stand mixer with paddle attachment, add butter and beat until light and fluffy. With mixer on low, gradually add powdered sugar until thoroughly combined. Increase mixer speed to medium and add vanilla, salt, and cream. Add remaining sugar or cream to reach desired consistency: sugar for a stiffer consistency, cream for a softer consistency.
Beat butter for a few minutes with a mixer with the paddle attachment on medium speed. Add 3 cups of powdered sugar and turn your mixer on the lowest speed (so the sugar doesn't blow everywhere) until the sugar has been incorporated with the butter. Increase mixer speed to medium, add vanilla extract, salt, and 2 tablespoons of milk/cream, and beat for 3 minutes. If your frosting needs a more stiff consistency, add remaining sugar. If your frosting needs to be thinned out, add remaining milk 1 tablespoons at a time.
Chocolate: sift 3/4 cup unsweetened cocoa powder with the powdered sugar. Continue as above.
Orange: Once sugar and butter are incorporated, add 2-teaspoons orange extract and 2 teaspoons orange zest. Substitute orange juice for milk. Continue as above. (For lemon variation, use the lemon extract, zest and juice).
Mint: Add 2 teaspoons of mint extract, and continue as above. For extra panache, melt 4 ounces of unsweetened chocolate with 4 tablespoons of butter, stirring until smooth. After frosting, drizzle with chocolate mixture for a mint chocolate experience.
Peanut Butter: Substitute an equal amount of smooth peanut butter for unsalted butter. Continue as above.
Caramel: In a small, heavy-bottom saucepan, combine 1/3 cup butter and 1/3 cup brown sugar. Bring to a boil over medium heat, stirring occasionally. Once the mixture comes to a boil, add 1/3 cup butter and stir until melted and smooth. Let mixture return to a boil, and boil for 1 minute. Remove from heat and let completely cool. Make frosting as above, and stir in caramel mixture and stir to combine. (Alternatively, use 3/4 cup of caramel ice cream topping and stir into frosting).
Pineapple: Add 1/2-cup of drained, crushed pineapple. Replace milk with pineapple juice.
Fruit, using puree: Beat butter as above, and add 1/2 cup of fruit puree. Continue as above. If using fruit with seeds, you may want to strain the puree before adding to the frosting.
Fruit, using jam: Beat butter as above, and add in 1/2 cup seedless jam. Continue as above. To enhance the color, add a few drops of food coloring.