The usual need to write as indicated in the comments above.
However, you can imagine other needs that fit your question. For example, if you want to count the number of objects in your program. The copy constructor will have to increment the counter, while assignment does not change the number of objects, and therefore will be executed by default.
source share