Threw this together for a recent forum post. Not had any disagreement with what was written so I thought it would be useful to create a Glossary FAQ. Feel free, of course, to add/correct as needed.
Nodes - in Node-RED do the hard work. They are a collection of code that typically processes an incoming "message". If you are looking at creating your own node, you also need to understand that Nodes (with a capital) are packages of code with specific structures. But we also refer to nodes (small n) as an instance of a Node - that bit is confusing unfortunately. So you install a Node package (like node-red-contrib-uibuilder for example) to Node-RED and then you drag an instance of one of the nodes (small n) defined in the package onto your flow and then deploy it.
Wires - would be the "edges" in graph theory. They connect together the nodes. "Messages" run through the wires between nodes.
Flows - are simply collections of nodes and wires. There is some overloading of the term though as the word applies to all of the nodes and wires in a Node-RED instance but it is also used to describe the nodes and wires that are collected into a visual tab in the Editor.
Editor - is the UI where you do your authoring of the logic using nodes and wires. It is the administrative interface for Node-RED
Package - is a collection of files published to npmjs.org (typically). In Node-RED, it contains everything needed to define one or more nodes.
Module - is a specific programming construct used in Node.js. You "export" some stuff in your module and you "import" it elsewhere. In Node-RED it is this capability that lets NR draw together different people's nodes into a single application.