Prep the peaches: If using fresh peaches, peel (optional), pit, and chop them into bite-size pieces.
Pat dry with paper towels to remove excess moisture. If using canned, drain very well. If using frozen, thaw fully and drain.
Beat the base: In a large bowl, use a hand mixer to beat the softened cream cheese until smooth and fluffy, about 1 to 2 minutes.
Add the cottage cheese and beat again until mostly smooth. A few small curds are fine.
Add flavor and structure: Sprinkle in the instant pudding mix, then add vanilla, lemon juice, and a pinch of salt. Mix until evenly combined.
The mixture will thicken slightly.
Fold in the fluff: With a spatula, gently fold in the whipped topping until no streaks remain. Don’t overmix—keep it airy.
Stir in the mix-ins: Add the chopped peaches and mini marshmallows. If using nuts, fold those in too.
Keep the peach pieces intact by stirring gently.
Chill to set: Cover the bowl and refrigerate for at least 2 hours, or up to overnight. This step helps the pudding hydrate and the flavors blend.
Serve: Give it a gentle stir before serving. Spoon into a serving bowl, garnish with a few peach slices or a sprinkle of nuts if you like, and enjoy cold.