Prepare the cake pans: Preheat the oven to 350°F. Grease three 9-inch round cake pans and line the bottoms with parchment paper.
Combine the dry ingredients: In a large bowl, whisk together the flour, sugar, baking soda, cinnamon, and salt.
Mix the wet ingredients: In another bowl, whisk together the eggs, vegetable oil, and vanilla extract. Stir in the mashed bananas and lightly drained crushed pineapple.
Make the batter: Pour the wet ingredients into the dry ingredients. Stir gently until just combined. Do not overmix.
Add the pecans: Fold the chopped pecans into the batter until evenly distributed.
Fill the pans: Divide the batter evenly among the three prepared cake pans and smooth the tops.
Bake: Bake for 25–30 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Cool the cake: Allow the cakes to cool in the pans for about 10 minutes. Transfer them to a wire rack and cool completely before frosting.
Make the frosting: Beat the softened cream cheese and butter until smooth. Gradually add the powdered sugar, then mix in the vanilla extract. Add a little milk if needed to reach a smooth spreading consistency.
Assemble the cake: Place one cake layer on a serving plate. Spread frosting over the top. Add the second layer and repeat, then place the final layer on top.
Frost and decorate: Cover the top and sides with the remaining cream cheese frosting. Sprinkle chopped pecans over the top if desired.
Chill and serve: Refrigerate the cake briefly for cleaner slices, then serve and enjoy.