The reason I had to do that was VimeoPro (using Akamai) requires a bunch of security cookies for video playback, our videos are an intro, the main video, and a extro concatenated into a single HLS stream, each has its own distinct cookies, and there is no way to send 3 sets on an HLS master.
We didnt want to encode them together so we could have flexibility in our intros and extros. We didn't want to create hundreds of M3U8 on our server when they could be volatile, and didn't want Roku boxes FTPing to our servers when we couldn't predict volume, and that would have been a project anyway. So I hunt down the intro and extro TS files during startup (all async), download them to the box (they're quite small, a single TS segment), then create an M3U8 file on the box that links them together using Discontinuity tags. I had to create a web server anyway to feed the master M3U8, so feeding the intro/extro TS files was no big deal to add.
Sounds more complicated than it is, the hard part was getting through the multiple layers Akamai puts on external video access - reading and parsing M3U8s to find the appropriate final TS files.