Begin by washing, hulling, and slicing the strawberries. Set them aside on a paper towel to remove excess moisture.
Peel and slice the bananas into even rounds. Lightly coat them with a small amount of lemon juice if preparing ahead to prevent browning.
In a large bowl, prepare the vanilla pudding according to package instructions using cold milk. Whisk until smooth and thick. Refrigerate for 5 minutes to set.
In a separate bowl, whip the heavy cream with powdered sugar and vanilla extract until stiff peaks form.
If using cream cheese, beat it in another bowl until smooth, then fold it gently into the prepared pudding.
Carefully fold the whipped cream into the pudding mixture using a spatula, creating a light and creamy filling.
In a glass dish, begin layering. Start with a layer of vanilla wafers or cookies on the bottom.
Add a layer of banana slices, followed by a layer of strawberries.
Spread a thick layer of the pudding mixture evenly over the fruit.
Repeat the layers—cookies, bananas, strawberries, pudding—until all ingredients are used.
Finish with a final layer of pudding, then top with whipped cream, sliced strawberries, banana slices, or crushed cookies as desired.
Cover the dish with plastic wrap and refrigerate for at least 4 hours, preferably overnight, to allow the flavors to meld.