Most RPGs allow players to customize their party members, but the Pokemon games actively encourage you to get as many party members as possible. But, unlike RPGs with huge playable casts like Chrono Cross, party members in Pokemon Diamond have no backstory and are invested with only as much personality as players give them.
Whether you give your Shinx a nickname or not, it'll always be your Shinx and it's quite easy to build an impression about its personality from how it fares in battle. Not to mention the traits and skills mechanics that the third generation games introduced make each Pokemon just a little bit more unique, leaving players even more to work with when it comes to building their party members' personalities. Though, aside from players projecting personality onto their Pokemon, these mechanics have just a minor impact on the core game.
Anyway, there's enough to do in Pokemon Diamond to make it interesting. And it's refreshingly different from the Red and Blue versions that I'm so much more familiar with. I haven't even gotten to the underground part of the game yet.
Though I have more or less built up the party that I'll keep until the end of the game: A Machop, a Buizel, a Magikarp (eventually a Gyrados), a Shinx, a Monferno, and a Staravia. The Buizel might get switched out for a ghost, dragon, dark, or psychic type Pokemon, but whether or not that happens will depend on what the game throws at me. En route to badge number two, it just seems that my party is merely under-levelled and not at all unbalanced.