Personally, the issues stem from a few different places.
LAG
- Ping in command prompt: 90ms. Ping in MC: 250-300ms.
- Server response to/Client handling of pings is slow?
- MC just has horrid netcode?
- SSP/SMP merge caused a lot of issues.
- Not all sources of lag can be fixed by the devs, such as problems with MC itself.
NCP
- Forcefield detection seems to be the buggiest feature - also the newest?
- Bukkit might also be making things worse - new version forces NCP updates?
- NCP apparently has a config file that is as clean-reading as most *nix man pages.
The thing that I find the most likely to blame is MC itself. It is an
unbelievably awful engine for this. It's hardly anything you could call optimized (lol Java*), even less so when you're talking about its netcode, and yet it's also the
best engine available for this thanks to the ease of creating new maps, a large playerbase, and the fact that it is pretty much a world simulator - any FPS engine does that, really, but MC specifically was made to simulate a rather Earthlike reality, and so that lends itself well to Hunger Games style PvP.
*Java is easy to learn and runs on anything that'll run the Java VM, which means Windows/Mac/*nix. It is, however, much slower than languages that don't need their code interpreted on the fly by a VM, such as C++. Choosing to write MC in Java was/is a mixed bag.
/tokenstarwarsjoke
EDIT: inb4 completely out of season April Fools' joke.