The perfect solution is one that makes grinding or diving to be a tough strategic decision. Maybe grinding takes time, which requires food, but can make you stronger...Save the frog by turn 1000 or lose the game? Lava is rising and you must outdistance it...lots and lots of ways to make it an interesting decision. Grind to get stronger but you lose time.
Also I'm glad you liked the 'use' advantage idea. I hate finding a badass sword and not being able to use it. There are various stat heavy systems you can use, but I like the clear granularity of a class system sometimes.
BTW:
Pirate: sword, pistol, pet (parrot!), maybe trinkets?
Alchemist: Potions and scrolls and goggles.
Barbarian: 2 handers, helmet, lots of str. duel wield.
Ranger: Bows, pets.
Monk: Scrolls, any not edged weapon.
Ninja: Disguises, thrown weapons (daggers, ninja stars)
Samurai: sword, Bow, can duel wield.
Geisha: Disguises, trinkets, daggers
Sword - Good all around weapon. Adv: Adds to defense (parry/fencing).
Helmet - Plus defense. Adv: Resist stun.
Potion - Has magical effect. Adv: Drink twice and/or automatic identification.
Pistol - Ranged weapon, slow reload. Adv: Carry 2 at once, so you can fire every turn.
Bow - Ranged, lower damage than pistol. Adv: Bank shots? Always recover arrows?
Pet - Kinda random like the dog in nethack. Adv: Attacks and fetches on command.
Disguise - Treated as the disguise, except by directly adjacent enemies. Adv: Even adjacent enemies fooled.
Trinkets - Rings and amulets and such. Adv: No limit to how many you can wear.
Thrown - Recoverable ranged weapon. Adv: No need to equip it, can throw it from belt anytime no problem.
Goggles - Resist blindness. Adv: See in the dark (yep!)
You can further refine classes by giving them different starting equipment, different base stats. Like the barbarian will have higher base attack and HP or some such. The Geisha will start with the 'dress' disguise, which fools all intelligent creatures until she attacks!
You can also let a player choose their own advantages, a sort of 'make a class'.