The tbody element is required in HTML, the start and end tags for it are, however, optional (as they are for a number of other elements, including html, head and body).
In XHTML the element is optional, presumably to be compatible with markup people were writing so they wouldn't have to learn to stop letting the element be implied.
In text/html mode, most browsers will (correctly) add the element to the DOM automatically. This can have implications for anything which makes assumptions about what elements in tables are children or parents of other elements (e.g. JS or CSS).
Including the element in the markup explicitly could reduce confusion and maintenance issues, so it is worthwhile but far from essential.
If you are working with XHTML, it becomes more important since the element may or may not appear depending on if the document is processed as text/html or application/xhtml+xml. I would always include it explicitly in an XHTML document.