It depends on the word as Micah says.
The basic rule for prepending Latin and Greek prefixes is to not hyphenate them. Most uses of "sub-" and "super-" should be prepended without using a hyphen. According to the Economist style guide, however, the prefixes "anti-", "non-", "counter-"/"contra-", "inter-", "half-" and "neo-" are special, and most words using these should be hyphenated. To that, I would add "meta-" and "self-". The general reasoning behind all of these is that the base word is a well-known concept that these prefixes modify in some relatively new way, and punctuation to indicate novel spellings or word uses is common in the history of the English language.
To this, we add the corollary that "common usage trumps all". Words that were originally novel uses of a prefix but have become commonly used generally get their hyphens dropped. "anticlockwise", "metadata", "neoconservative", "international" etc have entered the public vocabulary as their own concepts distinct from (but of course still related to) their base terms, and it is no longer necessary to hyphenate them.
I would also generally add that a proper noun used as a base word should be properly capitalized, and that generally requires the use of a hyphen to prevent camelCasing (which is common with the advent of computer programming, but not correct except in that context). So, "neo-McCarthyism", "sub-Saharan", etc should remain hyphenated.
It's interesting to note that Google NGrams seems to contradict pretty much everything the Economist says; "non-violent" is correct according to the Economist, but NGrams says "nonviolent" is orders of magnitude more prevalent in writing. Similarly, "semi-automatic", "non-payment", "inter-agency", etc should all be hyphenated according to the Economist but NGrams again says the non-hyphenated version of each is more prevalent by several orders of magnitude.