Dipende anche dal numero di invitati. Se ad esempio parliamo di 20/30 persone (ad esempio) è chiaro che diventa un problema pagare tutto per una sola persona in una volta. Se invece si fa "alla romana" diventa più fattibile, poi chiaramente tutti e 20/30 a rotazione faranno altrettanto ed ognuno avrà la sua festa e i suoi "amici" (tutti) con una spesa accessibile.
Nelle grigliata idem, a volte si divide la spesa e si porta il necessario (nel caso si compri) oppure ognuno porta qualcosa da casa.
Poi ci sono i casi in cui magari si vuole festeggiare anche con persone al di fuori del gruppo, in questo caso di solito non si parla di grandi numeri, quindi si può anche "offrire".