You should not think of a nanobot like a 'eating'-animal or something.
This would be a big problem, due they only could handle molecules and cells wich are smaller than they are, plus they need additional size for some extracting or cutting mechanics to get the molecules/cells off whatever they're attached to.
Better think of nanobots like enzymes. They could attach molecules and bring them to react in some chemical way. For example, they could change the connections of atoms in molecules to extract specific atoms and transform the molecules in that way.
Think in chain-reaction.
If I cut off a hydrogen of H2O what would happen? Depends on the environment, but one possibility is that the left over HO will react with another leftover HO to H2O2 Hydrogen peroxide which is very corrosive and will damage the environment. (An example of Nanobot-weapon). This is a very simple molecule. What would happen with DNA for example? You could change the creature's DNA that way! Just change a big amount of the stem cells.
You may also think of it in some kind of virus.
If it's able to alter metabolism (just as an enzyme) and also to nest in a cell, it could alter the behavior of the cell like a parasite.
What would be happen if a nanobot could change the way a specific nerve cell works?
It could alter the behavior of his host creature for example.
You also could change the production of some hormones.
But to harm the host is not the only possible usage.
Nanobots could be used as a guardian to protect the host against other nanobots, viruses, bacteria and so on. They could close the bloodstream very fast after a injury, be used as storage for adrenaline, ATP and so on to make a fighter fight better for longer time without getting tired.
If small enough and working like enzymes which can nest cells, nanobots simply could imitate and alter every part of the metabolism. In either, good and bad way.
EDIT - additional thoughts from comments:
How to keep em small:
One kind of bot for one kind of job!
Like in programming, the more a function does, the larger it gets.
So if a nanobot has to cut and assamble different kind of molecules, it needs several tools. You could make one specific bot for cuttung, one for assambling and so on. This makes them smaller.
Communication to outside:
There a two ways of possible communication:
Hard-wired, and radio. "Hard-wired", not to take literally, could be mady by a docking-station in the skin or something. When the bots visit the dockingstation, they get the last received order which is saved in the dockingstation.
"radio" gives the big disadvantage, that a receiving bot must be pretty large (antenna).
But if you take the same concept as in hard-wired, it's not a real problem at all.
Make a few specific nanobots that have an antenna and put them into venes or hollow organes. They do not have to move, so they could be >1cm long and be able to receive radio signals. Other bots go to the "receiver" bot to get their orders.
Both concept raise the problem of slow reaction, due they only know the last order they have taken and do not know if a new one arised.
This problem could be solved with this concept:
Do you know how white corpuscles know where to go? Due hormones and stuff.
Your nanobots could communicate with each other if they release some specific molecules. Other bots, which notice it, have a protocoll how to react to specific concentration of this pseudohormones.
That way, a nanobot could tell his little friends that a new order is in, or that he needs help with a specific task.