The issue is that you are saving all the backups to the same file. SQL Server has to delete all or nothing. So, let's say you have RETAIN 1 day.
You backed up yesterday to mybackup.bak. Today you backed up to the same file. The file now has today's date, not yesterdays. SQL Server can't delete it.
Search on this site, especially go to the forum for BACKUPs, and you should find how to save backups to files based on the date.
-SQLBill