Do we know how the Borg adaptation works?
I would expect something along the lines of what doesn't kill me makes me stronger. But we see drones being killed and than another drone is immune. How can the Borg even learn what killed the drone if it is killed immediately.
They don't.
The Borg have many different drones with many different specialties and equipment packages. Some would be outfitted primarily for reconnaissance and examination, some for combat and/or capture of specimens, some for maintenance of the Borg ship, some for dismantling of other people's ships. Borg adaptation is really just a matter of trial and error: they keep sending drones at you until they find one you can't easily kill, then they identify that immunity and send a SHITLOAD of drones with the same specs. Operationally: we send a drone to take over your systems. You kill it with a phaser, we send a drone with a forcfield system. You spend five minutes trying to kill it with a phaser and then somebody pulls out a tommy gun and riddles it with bullets, so we send a drone with a shield generator AND heavy armor. Your engineer spends five more minutes trying to rig some kind of polaron beam that can take it down... by the time he does this, we've taken over your computers.
The scary thing about the Borg isn't that they can adapt to anything (they can't). The scary thing about the Borg is that their combined intelligence is so interconnected that if any ONE of them notices your weakness, then ALL of them know it. So it's not so much that they can adapt -- Starfleet can do that too, if you've noticed -- it's that they do it VERY quickly, usually minutes or seconds into any particular encounter, and their non-networked adversaries aren't normally fast enough to counter them.
What about the viruses, one that created Hugh and co. and the one in Icheb are the Borg now immune? After all id didn't seem so, if they worked twice each. Or does it takes several tries?
It simply seems to me that Starfleet doesn't know half as much about the Borg as they think they do; the virus they planned to unleash on Hugh probably wouldn't have affected more than that single cube, if it affected them
at all, which it probably wouldn't. I Icheb's case, I think the rogue geneticists simply got lucky when none of the drones (or not enough of them) had a strong enough immune response for them to adapt to the virus. IF it worked twice, it again probably would have only affected that one cube.
Also, there should be an limit to the adaptability. After all a ship with an immune drone fight should be one-sided.
The limit's just a function of "luck of the draw." If you hit the Borg with something that none of their drones and/or technology can respond to, you can beat them (this is evidently what happened with Locutus' ship: none of the drones on that cube had a means of recognizing a fake regeneration prompt). The real problem is that it's not enough just to surprise a few of them, you have to surprise ALL of them at the same time, and as many drones and devices are on board the cube, your chance of coming up with something that at least SOME of them aren't ready for is incredibly small.