the maintenance overhead point is the honest bit that often gets glossed over in headless hype — it is genuinely two codebases to keep alive and deploy separately, and for a marketing site run by a small team, that extra complexity can be a real pain. i've gone headless on a couple of client projects and the performance wins are real but you have to be sure they actually need it before making the call