Minecraft is almost entirely single-threaded* and coded in
Java. As such, your quadruple core machine with umpteen 2Ghz processors is still only give it at most 2Ghz of work (hyper-threading aside) and the actual code is none too efficient either.
Ironically** what often gets sighted as "lag" is how it has the annoying start-up lag you always get in JIT-interpreters as one of their
optimisations where every time a chunk of code is encountered for the first time in a running, it gets compiled again from bytecode to computer code and the whole program comes to a stop.
As an aside, Minecraft's "mod support" is also a quirk of Java, namely you can decompile, add your own code and recompile. It's mod support in the same way knocking down a wall and building a new one is refurnishing your house.
Minecraft is still essentially a paid tech demo where the developers went "This'd be cool!" and chucked it in. In-spite of all of these drawbacks, it still manages to be something some find rather fun. They wanted to make it a 3D rougelike with voxel-based building and with adventuring, so far they got half-way there and a bit.
* I am aware some multi-threading has been added but it still uses at most 25% of my 4-core machine.*** Adding multiple threads to a design originally based around one thread is like taking a donkey and trying to get a horse out of it, the best you'll get is a mule.
** This is actually a legitimate example of irony. "A state of affairs that is the reverse of what was to be expected; a result opposite to and in mockery of the appropriate result". An optimisation (the appropriate result being fast code) is causing people to complain of lag (the reverse state of affairs).
Now that is irony! *** FYI, my Quadcore i7 processor with 2.2Ghz (up to 3.2GHz with dynamic overclocking) per processor and NVIDIA GT 555M graphics card does manage to squeeze out on average a few hundred FPS with Minecraft.
Hopefully Notch learnt from some of these problems, especially "Don't hoist threads into a single threaded design after-the-fact. Think concurrent from the start".