Hey!
I'm a biologist, but the question is a complicated one, so please don't take what I have to say as cast in stone!
Our bodies are constantly storing and releasing nutrient molecules. For example, all night long, when we aren't eating, we are using up stored nutrients. During the day, the body switches to storage when we are digesting a meal, and to using up the stores when we are between meals.
If one consistently eats more than is needed, then storing "outweighs" utilization. But the reason this doesn't show up right away is kind of complicated.
Say someone eats 3000 calories in a day and burns 1500. Obviously there are 1500 left over to be stored. (I know you didn't want to talk about calories, but I don't know how else to do it.) Suppose their plan calls for them to eat 1200 calories a day to lose weight. It goes like this:
day 1: 3000 eaten 1500 burned +1500
day 2: 1200 eaten 1500 burned -300
day 3: 1200 eaten 1500 burned -300
day 4: 1200 eaten 1500 burned -300
Net so far: +600
So, from this it looks like one day of overeating significantly will require FIVE days of eating on plan to offset the excess.
That's why people who say they have 1 day a week as a "cheat day" often find they do not lose weight...
Sometimes a person can offset things more quickly by eating lower than 1200 calories for a couple of days or by increasing their exercise. But this is a cycle one is best not to get into, in my opinion.
As for why it can take a couple days for the gain to show up? Probably because digestion isn't immediate. Weight is a lot of things--food you've just eaten, wastes in the bowel that haven't been eliminated, water retention from salty foods, and of course muscle, fat, organs, etc. So it's not surprising that it could take a couple days for that scale to go upward.
It's a complicated situation--that's why weighing every day isn't always the best thing. Too much can change from hour to hour... once a week is a better measure of actual weight changes.
Jay