Preheat the oven to 350°F (175°C).
Grease and flour three 8-inch round cake pans.
In a bowl, whisk together flour, baking powder, and salt.
In a separate bowl, cream the butter and sugar until light and fluffy.
Add eggs one at a time, mixing well after each addition.
Stir in vanilla extract.
Gradually add the dry ingredients to the butter mixture, alternating with milk.
Divide the batter evenly among the prepared pans.
Bake for 25-30 minutes or until a toothpick comes out clean.
Allow cakes to cool in pans for 10 minutes, then transfer to wire racks to cool completely.
For frosting, beat butter until creamy, then gradually add powdered sugar and mix well.
Frost the cooled cake layers generously and decorate as desired.