HP, Epson, Lexmark, and some of the others use the same technology to tell you how much ink you have left to prevent you from printing. The printers have built-in memory that remembers the serial numbers off the last couple cartridges you use, and the *estimated* ink levels.
They can't actually measure how much ink you have left, so they estimate how much would have been used based on the length of the pages sent to the printer, the percentage of surface area covered in ink, and the color of ink. This info is then fed to the printer, which is regurgitated to you when you check the ink level. If it believes the ink level has dropped to 0, it may refuse to print, depending on how the setup was designed. You then are forced to ditch the old cartridge and buy a new one. It matters not if ink actually remains!
The reasoning behind this is to prevent the refilling of their ink cartridges. The companies fought hard to make it illegal, but the courts decided against them in just about every case. So, they decided to make it difficult for the end user to refill the cartridges themselves, resulting in most simply giving in and buying new from the manufacturer.
On HPs, this can be circumvented by cycling through 4 different cartridges. (The printer only remembers the last 3, so after inserting #4, the ink level for #1 is lost and assumed to be 100% upon re-entry.) Another solution is placing a piece of tape over select contacts (varies by model), which makes the printer think it's a different cartridge because the serial number cannot be read properly. Some Epsons, though, make it more difficult, requiring you to purchase a chip resetter for the cartridge if you wish to refill it.
It took me a little while, but I figured out how to just keep refilling the cartridges on my HPs using a strip of tape. I can now refill each cartridge four times before it needs replaced, giving me 5 cartridges for every 1 I purchase.