Because 1.1 can't be represented in binary form exactly; the approximation is a littler higher than 1.1 - therefore the division result is a bit too small.
Try the following:
Under Python 2, type at the console:
>>> 1.1 1.1000000000000001
In Python 3.1, the console will display
1.1, but internally, it's still the same number.
>>> 11/1.1 10.0
As gnibbler points out, this is the result of "internal rounding" within the available precision limits of floats. And as The MYYN points out in his comment,
// uses a different algorithm to calculate the floor division result than
math.floor() in order to preserve
a == (a//b)*b + a%b as well as possible.
Decimal type if you need this precision.