1) Increased dietary variety.
2) People who are compliant but are on the verge of blowing their brains out from dieting. People who are on low (relative) macros and thus would not otherwise get "lots of carbs" on a normal day. Weight gain clients are unlikely to require a high carb day once their macros get really high. I don't see a reason for carb fluctuation for a weight gain client. To me it's micromanaging a process that can't be micromanaged, i.e. muscle gain happens so slowly that micromanaging might just end up preventing it.
3) Training volume, age, sex, body fat.
4) I base it off previous dietary habits plus a dynamic algorithm I've determined from input via all my clients and how their body weight changes in response to certain macros (and changes to them), age, sex, height, and conditioning frequency.