I suggest taking a look at the module source code. It does quite a few things you certainly can't do in a plugin. More importantly, is it actively forces the weapon in the player's weapon field, making it compatible with other natives that already exist.
The reason for making a module is it's efficient. Something in C++ is far faster than it is in Small, especially when you're doing something update-intensive like drawing new weapons. The benefits are clear: you have specific natives that a multitude of plugins can use easily. And with Metamod, you have exactly the calls you need to make or hook.
How to do this in a plugin? With AMX Mod X, you would have to use a combination of fakemeta and callfunc, which would let you have metamod-functionality and module-functionality in your plugin (since callfunc is inter-plugin communication, and fakemeta is "Metamod for Small").
With AMX Mod, it gets even trickier -- it has no equivalent of callfunc or fakemeta, so you'd be doing everything with VexD forwards. And if I recall, the only way to have plugins communicate in AMX Mod is through server commands. Not exactly ideal, and I imagine things like this made this plugin very tricky to make.
I'd take this as a module over a plugin any day

it's quite logical. Mahnsawce was a talented coder and this was his last big idea. It works efficiently and can be easily expanded.
__________________