Common names of animals follow the principles described in General principles for common names.
In addition, when an insect common name has 2 parts, the second part is separate if it is taxonomically correct:
striped dung fly [a true fly]
but is joined to a preceding modifier when it is not:
Blue Mountains firefly [a beetle, not a true fly] ladybird [a beetle, not a true bird] butterfly [not a true fly]
Common names that end in worm, based on the larval form of insects, are formed in the same way:
beet webworm [not a true worm – that is, not an annelid]
See Aquatic species names for further information about fish names.