The issue I have with duplicity is that every N backups have to be a full backup, so a large backup (such as my photo collection) becomes impossible.
I would much rather use an incremental backup that records the diffs in reverse, so that the latest state is stored explicitly, and the earlier versions are recovered through a chain of reverse diffs.
Duplicity's security goals make it hard to implement this kind of reverse diff structure.
So if you want to expire old backups after a while you must do a full backup, then delete the entire full+incrementals chain.
rdiff-backups stores diffs in reverse so you can always easily delete the oldest ones.
Duplicity archives and encrypts all it's files so it really doesn't have much choice in the matter. rdiff-backups doesn't encrypt anything - it can't - it needs the full file on the other end to use for rsync.