Boss fights is not especially a defined term in game programming, and even less in game design.
There are some general trends and notions of the concept but those are often flipped on their head to do something interesting (something like Ico being nothing but bosses being but one of many many examples here -- Earthworm Jim, Undertale, and for a classically themed as it often is then even Cuphead would show interesting things here).
In general some would tell you boss fights are essentially exams for the stage you just did (or game you have thus far played) to prove you know what you are doing, or in weaker cases something that shares a graphical theme* with the rest of the stages (I would say most old school megaman bosses are this). Classically this often takes the form of a bigger enemy you have to hit say three times but that is getting far closer to tropes territory than I care to be right now, to say nothing of being terribly boring to many.
If that can be accomplished by flooding a room with a few waves of enemies** (compared to a normal room's maybe 3 enemies) then that is basic level design/hacking, indeed going back to megaman if you stuck say 5 sub bosses in a row that would probably make for some kind of challenge that the game did not normally throw at you. If you need to make a higher powered version of a normal enemy that is also not so bad on most occasions, especially if you don't have to add as much as change (Final Fantasy might only have a random spawn in one area of the game, possibly even some post game extras, change this spawn to a more normal enemy and suddenly you have a slot free to do what you want with.
If you need to code in some kind of massive sprite handling, collision detection and AI (or if not AI then patterns) for it all then that might be far harder.
*not necessarily a bad thing. Stuff like the giant baby level from the Zombies Ate My Neighbors game is nothing particularly interesting from a game design perspective but within the context of the game it is amusing.
**at this point I don't think I can tell you a single non ganon (and even then I can't remember the forms) for Zelda Wind Waker (haven't played it since the gamecube). I can very much remember the challenge sequence when you eventually return to the first island.
So while I could possibly pontificate for a while I will skip it beyond what is already here and note that is usually far easier to act within a game's existing parameters and scope than it is to alter them, and even within that there are things which are not so easily done. Once simple level/encounter fiddling dries up you are going to run smack into "needs to learn assembly for the device you are playing on" almost immediately. Somewhat amusingly you might actually get more from looking at some of the boss rush hacks -- some of those are level design done to chain boss rooms with some pickups or something but other times they do more.