There are many examples of this, but one that comes immediately to mind is the evolution of my favourite LDAP-enabled music player, airsonic-advanced
Subsonic begat libresonic
Libresonic begat airsonic as well as a whole bunch of other projects.
Airsonic begat airsonic-advanced
Airsonic-advanced begat kagemomiji/airsonic-advanced, however the maintainer of the parent codebase, randomnicode, wants to do the right thing and get their code up to snuff with the opensubsonic API (not sure where that fits in to thr history) so kagemomji can take over.
They all have their quirks, but until airsonic-advanced catches up with the latest opensubsonic API, I've been trying out Audinaut, DSub, and Ultrasonic. I had to reorganize my whole library, though.
I'm not a fan of these album-based apps. most of my music falls under "Various Artists". As such, I've been playing around with Musicbrainz Picard to try different tagging in an attempt to try to find something that works across both at the server and client end.
Subsonic doesn't work for me, I'm guessing because it refuses to fall back to earlier versions of their API. I could be wrong.