I'm creating a custom List Definition. I've previously been told that I should create a ContentType, and a ListDefinition from that. But this seems to mean a lot of duplication in my project files. So I'd like experienced opinions/direction in this area.
What benefits does a custom ContentType provide?
What limitations can not using a ContentType introduce?
Edit to Add Detail
So what I want to have is a List Definition, with two Instances. There are about 14 fields to be included in the list currently, and they're all input by the user.
There will be EventReceivers on the List for things like validation of the data, and also interacting with some external systems when certain conditions are met.
There will also be either a workflow or timer job which reguarly interacts with the list, and performs some action if certain conditions are met.
I've created the ContentType so far in Visual Studio using XML, but when I then make a ListDefinition in VS based upon it, it just seems to copy the whole thing (both the
Field tags) into Schema.xml.
So I'm wondering if this is really the best way, as if I need to make any changes to the ContentType (which is quite likely as it's an iterative development), I'll have to then replicate these changes in Schema.xml.