I'm afraid I haven't used this property, and can only read into it what has been said by devGuru.
What I read is that if you are fetching a large amount of records, and plan to do a fair amount of work with them, then it appears if you set the cache size to the number of records in your recordset, then your performance will increase, as access to these records will be from cache memory, rather than normal memory, which is much much faster.
On the other hand, if you need your recordset to reflect real time changes to the database by other users (keep in mind you'll have to set your cursorType property to achieve this), then repeated .resync calls will have to be made in order to keep the recordset updated, which will hurt performance.
So, as always, it just depends on the application and what you plan to do with your recordset as to whether or not you wish to use this optional property, or just leave it at default, 1.
Good question, though. I think I'll begin trying to work this property into my applications, as it does appear to have the occasional performance advantage.

paul