Pull-up resistors for SoftwareI2C

Do we really need to use pull-up resistor for software I2C? Isn’t it possible to active MCU internal resistors for this purpose?

Source:
http://www.ghielectronics.com/downloads/NETMF/Library%20Documentation%20v4.2/Premium/html/4b351923-46dd-fd9d-33db-3975e05c06e7.htm

You need to make sure that signal levels are in range and stable, even if there are many I2C slaves on the bus.
I tired (or lets say I failed) on hardware I2C on G120 without them, and nothing was working.

If you use the pins for I2C only, and if you have some custom hardware there anyway, I would go for hardware pull ups.

But as long as the signal levels are ok, why not using the CPU built-in pull ups. But I would check the signal levels with an oscilloscope and different number of slaves then.