Most of the time, world building is accomplished in large part by adding character options. To create the 'arcanepunk' feel of Eberron, the warforged race and the artificer and magewright classes were added, and it's unusual for a published campaign setting not to include a slew of new feats, items, prestige classes, and often spells as well. While this is a totally legitimate way of expanding on a campaign setting and drawing player interest in the lore of the setting, it's important to realize that it's not the only way to build your world.
Published settings are at somewhat of a disadvantage in that there is great pressure to preserve all the core rules to maintain a common base of character option. However, in your homebrew campaign setting, no such pressure exists. Therefore, you may find that removing certain options provides a more effective means of conveying the look and feel of your setting than adding new elements alone.
For example, I've made the following exclusions from my Ralsenna setting:
- Bards: I'm not a fan of the bard class. In my many years of playing D&D I have yet to be able to imagine a bard in a way that isn't silly. There are still bards in Ralsenna, but they merely rogues or experts with ranks in various Knowledge and Perform skills.
- Clerics: Unlike bards, I've got nothing against clerics, but they don't fit nicely with the setting as I've established it. After all, the gods are distant entities (if they still exist at all) which are not terribly interested in diverting power away from their struggle and into the hands of petty mortals. Instead, the oracle class is available, representing those randomly imbued with divine power.
- Wizards: Magic, especially arcane magic, is nigh impossible for mortals to control. Druids channel the latent magic inherent in Ralsenna, oracles suffer grievous curses for their trouble, and sorcerers manage only by the graces of their powerful ancestors. Instead of wizards, the alchemist class is available, representing the height of learned arcane magic.
Has any of you tried this in your campaigns? Tell us about it in the comments.