This is rather abstract to discuss without a concrete example, but you need to have breadth and depth both, don't you? Having x modules all do the same task with different interfaces will shake out the "most preferred" over time or it will result in multiple interfaces existing to suit different types of people.
Again, collaboration is good, and for these modules to eventually use the same "engine" under the hood could be a good thing. Even though that model of development (create differing solutions and then try to cobble them together) appears to be ass-backwards and more work, it seems to work pretty well.