What is an on-chip interface and Why is it beneficial to have an on-chip I2C interface than polling
Note: this answer was written under the presumption that the OP was asking about hardware I²C vs a software ("bit-banging") approach.

To greatly simplify the subject, an embedded I²C interface works in such a way that the application software (the part that you write) only has to offer data to send out or know in which register to look for received data. The actual clocking and timing of sent bits, and the clock reconstruction for received bits, is handled by the underlying hardware. A well-defined set of interrupt vectors is typically available to signal important bus events.

Such a setup makes it much easier to write applications that use an I²C bus, at the cost of having less control over the timing and the exact implementation details such as freedom to choose which pins are used for SDA and SCL. 

Since the sending of bits is handled by hardware that is separated from the main application processor (only linked through the RAM typically), your code can dump some data to send and immediately move on to do other things which the hardware handles transmission. When you write your own software-based I²C interface, your code is responsible for timing each sent and received bit properly which makes it much harder to do other processing-intensive tasks at the same time.