I just figured it out. When the list isn't up to date on a device just read something that's on that device's list or add something to read. Then the missing entries appear shortly.
Looks to me like the device doesn't realize it is out of sync with iCloud. As soon as it tries to change status in iCloud it realizes there's more to update and does it.
My theory for how it happens? I am using iPhone and iPad on the train where 3G network comes and goes. More often than not I loose network connection while reading / bookmarking. That's where it gets out of sync. Too bad it doesn't try to update all by itself!