if i may ask, how is this thread official?
From the point of view of testing software, bugs can be anything where the softawre does not perform/act as expected (includes desired). This covers both malfunctions and extensions. While brainstorming can bring ideas outinto the open, only by proper use of the bugs system can more constructive and specific feature-review take place (see how to write a bug report as to why). On the other hand, to know whether something's even a possibility, an informal discussion can prove beneficial. It has to be said that when reporting on multiple facets of a piece of software, may of which need attention, it might be more appropriate (friendly) to use TMO (or similar) to begin with. However, a formal bug report will yield better results because it is more formal and definitive. The final results of the bug process are, AFAIK, invalid, wontfix or fixed, which are all quite clear and, assuming the dev-team are any good, reasons for not fixing are usually declared. If the bug is an extension, not a malfunction, this then gives others the opportuntity to build the desired functionality separately instead of expect it as part of the software being tested.