Items per second is a complex calculations involving pixels per second at standard zoom, and the fact that a belt holds 4 items per tile in each of the 2 lanes.
15 turns out to be a perfectly round number when you consider 8 items per tile, 60 ticks per second and 32 pixels per tile.
divide that 15 by 8 and you get 1.875. this means that the belt is moving 1/8th of a pixel per tick.
now consider 256 is a computer number, divide that by 32 (pixels per tile) and you get... 8.
so 1.875 is 1/256th of a tile.
Considering all this, it's fairly obvious that internally, objects on a belt are moving in increments of 8 256th of a tile at speed 15, which is why increments of only 1.875 IPS work correctly.