Size requirements are purely based on your requirements.

Keeping it simple TEMP depends on you Table Sizes.
Then it varies for what your are doing -- unions, joins, group by, order by ...

Apart from these temp is used when you create indexes.

If your are doing complex queries with multiple joins and group by's on tables with millions of rows, then you really need big TEMP.

I went upto 6 GIG for a TEMP before