One of the advantages of the W5100 chip is that it handles the complex TCP/IP protocol stack on-chip. Since the most common Arduino, like the Uno, are based on an ATmega328 with only 2K of RAM, this is a significant help.
The ENC28J60 just a MAC and PHY chip. In other words, it is nothing more than a physical interface to the Ethernet part of the protocol stack. This means the TCP/IP part must be implemented within the 2K of RAM of the Arduino. This does not leave much RAM for your project to do much useful.
While the ENC28J60 tends to be much cheaper than than W5100, it tends to significantly limit the type of code you can run. For example Twitter-based projects, which tends to use a lot of strings, it is difficult to implement without exhausting the Arduino's RAM.