I'm on the fence with the whole interface thing myself. The more I look at it the more it basically seems like what Java needed was just plain old multiple inheritance and ditching interfaces completely, which appear to be basically a degenerate form of multiple inheritance.
Smalltalk had SI and Interfaces, so it's not like Java chose a deviant way to implement Inheritance. Most MI implementations have ugly problems. Mixins or 'Traits' from Scala are one possible (clean) solution. Straight MI as done in C++ is pretty crap really.