Reason one: it got expensive
The best-known plugin in this category was acquired and its entry-level tier now starts in the low hundreds per year. That is defensible for an organisation with staff and indefensible for a venue with a bar and a sound engineer. If your needs have not changed and the price has, switching is straightforward and rational.
Check what you are actually using first. If it is events, recurrence and a listing page, almost anything covers it. If you depend on a specific integration, that is what to check for in a replacement.
Reason two: it is too heavy
The mature plugins in this category are large — hundreds of thousands of lines, bundled libraries, many database tables — because they have accumulated fifteen years of features. If you use a tenth of them, you are carrying the rest.
Switching genuinely helps here, and it is measurable rather than a matter of opinion: query count on a page with no calendar, autoloaded option size, and the row count in your posts table.
Reason three: support
This is the one to be careful about. If you are leaving because nobody answered your thread, verify that the alternative is better rather than merely newer. Look at the replacement's own support forum and its resolution rate before you commit. A quiet forum on a plugin with a hundred users tells you nothing; a busy forum with most threads resolved tells you a lot.
Reason four: something is wrong and you cannot fix it
Wrong dates on recurring events, times off by an hour, a calendar frozen on a future date, permalinks that keep changing. These are the reasons worth switching for, because they are structural — they come from how the plugin stores things, and no amount of configuration fixes them.
Diagnose it first, though. An hour's offset is often the site's own timezone setting rather than the plugin, and you would carry that fault into the replacement unchanged.
What switching actually costs
The events themselves usually move fine — export .ics from the old plugin, import into the new one. What does not move: URLs, custom fields, and anything the old plugin stored in its own tables. Plan redirects for the URLs, because those are in Facebook posts and newsletters you cannot edit.
Do it on a staging copy, with both plugins present, before switching anything off. The one thing you must not do is deactivate the old plugin first — its data is often only readable through its own code.