The only con I can think of when doing full backups all of the time is the speed to recovery when one needs to do a full+incremental+incremental+etc. to get a certain state back.
Why might anyone want to do full backups all of the time/every day? I'm scratching my head wondering why one might need a full all of the time. And that in any circumstance.
I recently thought, well we need nightly fulls on your DB server, but even that's not the case really. The backup client will know the DB dump file has changed, and just back up the changed dump file without trying to backup everything else that hasn't changed from the day before.
Comments?
Here's an example: I have some systems whose data changes frequently in a large number of flat files. Incremental backups take 90% the time of a full backup. So in that case, it makes sense to run full backups since there's little cost to doing so.
Another situation is where the backup infrastructure is such that the data set can fit entirely within the capacity of the media (tape, for instance) and there's value to having a full portable image of a system in one place.
Either way, this is a bit subjective of a question and depends entirely upon the specific needs of a site, the backup technologies in place and the organization's resources.
Full backups every day have one big advantage: the restore chain is a lot shorter.
The more Incrementals you have to pull into a restore-set to get a certain state back, the more likely that one of those incrementals is bad in some way and will therefore spoil the entire restore. If you're doing a full backup every day, you only have one backup-set to restore from instead of potentially a lot more.
If you're not worried about backup quality, then this is of lesser concern. But it was a biiig concern of mine around 1999-2002, so I'm very aware of it.