Yep, It's only for performance. I know a number of people using overwrite=false when doing bulk indexing, and then often later using normal adds for incremental changes.
As far as why "overwrite(Pending|Committed)?" exists at all: it's been there since Solr was open sourced (SOLR-1), so there wouldn't be a discussion to find. Lucene had no concept of unique IDs or overwriting at the time and it was all implemented in Solr-land. The cost to enforce was significant (and still can be today), and often unneeded when building an index from a source known to have unique IDs already. -Yonik
