Anybody can create directories in /system or /system/etc if they have root or you've flashed a custom ROM.
There is no standard pre-defined meaning to those additional directories.
We assign "meaning" to the init.d directory by adding commands to the start that will run the scripts in init.d. It is called init.d because historically that is one of the directories in unix/linux where the startup scripts are kept. Android/linux has no concept of init.d (it was stripped of init.d of using init.d for start by use of a custom init process). We are just porting over the name and concept.
Given that, someone can just create addon.d directory and assign some meaning to it. It isn't something I'm familiar with though I can guess based on naming that someone extended some ROM and wanted to have startup scripts run after the scripts from the base ROM, though that is just a guess. You'd have to verify how that directory is being treated in the startup scripts.