Honestly, it depends on what your party consist of, spells etc and ultimately how you want to play the game or "win."
Winning can be done in a variety of ways, you can cheese the game for example, like using a single ranged character to attack, then move/hide, attack etc. This is slow and can get boring rather quickly. However, if you want to just kill things easily, that is one option.

Alternatively, you can split your party up and hide, then take them one by one to sneak attack the NPC, which will give you an enemy with much lower health. Chances are they will be surprised so you will get additional attacks on the enemy prior to them attacking.

Scouting can be beneficial and will let you come up with a better idea when using a given area. In most circumstances it is beneficial to take the high ground.

For the spider portion, most of the smaller spiders start on the bottom of the map rather than the higher ledges. You can take them out slowly and like a previous poster, fight the largest one last. Make sure to take out the egg sacs prior if at all possible as well.

For the Hag fight it depends on where you are having trouble. How is your equipment? What is your party made up of? If you have a ranger or warlock make sure you summon your familiars. The hide option is very useful here and allows you to sneak into the hags home and setup your party as you see fit. It is also best to eliminate the red caps prior. Some people use the Wyvern poison which seems to be quite effective, or you can be sneaky and gather a large amount of exploding barrels and set them up in a room.

When it comes to these games, there are so many ways to overcome obstacles by using your surroundings and certain spells. Spells like grease can be helpful as it causes the NPC to make saves and if they fail they fall down leaving them vulnerable.

Lastly, if you are having difficulty with certain maps/areas/npcs make sure you save prior to fighting. Once you do this, fix the error from your previous encounter and redo the fight.