ASCII covers only 128 characters numbered from 0 to 127. Another 127 characters are optionally left open for special character sets.
EBCDIC covers 257 characters numbered from 0 to 255. For Latin letters traditional only 127 characters are used.
Both ASCII contains 33 control characters in its basic set with an optional 32 further control characters in some 8-bit sets. EBCDIC contains 65 control characters. The ASCII sets and the EBCDIC sets do not altogether match up with one another.
The Unicode character set contains 1,114,112 “code points” which may be assigned to characters.
Historically there were a number of different ASCII character sets and EBCDIC character sets for different languages and they did not match up exactly with one another. See http://www.i18nguy.com/unicode/codepages.html for some of these sets, known as code pages.
Communication between them was a mess. And for Chinese, Japanese, and Korean which require thousands of characters neither ASCII or EBCDIC will work at all.
Unicode currently has 110,116 code points assigned to definite printable or control characters. Those that correspond to ASCII control characters are mostly not used any more and unusually Unicode simply defines them to be used in any way that traditional applications have used them to minimize necessary changes to converting an older program to use Unicode.
Some other code points are assigned to special use in the system and 137,468 characters are assigned for private use, which means in effect that anyone can create a font that uses them in whatever way they wish. But they can only be read properly by someone who has the same font or one congruent to it.
Essentially with Unicode and the right fonts one may display almost any current languages and many dead languages and they should come out almost the same on any other system that has Unicode fonts covering those languages.
This is an enormous advantage for anyone who wants to include samples from different scripts or phonertic symbols in their work. There was no one standard before Unicode. Forums on the web tended to restrict themselves to a subset of ASCII which did not change. For an example of what you can do now, download and look at the fonts available at http://users.teilar.gr/~g1951d/ . Or see the mathematical characters available at http://www.stixfonts.org/ . Or see the medieval characters available at http://www.mufi.info/ which includes some characters assigned to the Unicode private use areas.
The first 128 Unicode characters are simply the ASCII set. See http://unicode.org/charts/PDF/U0000.pdf for these initial Unicode characters. The next 128 characters is the extended characters in ISO Latin-1 character set plus extra control characters used in some terminals. These correspond to the traditional UNIX values and also to the traditional Windows western character set with the control characters replaced instead by additional printable characters. But using Unicode gives one so much more: http://unicode.org/charts/ .
The drawback is that text usually requires more space. Generally users feel that the trade-off is well worth it with only a single character set to worry about. All personal computers today support Unicode and almost all browsers support Unicode. The majority of articles on the web today are in Unicode and many of those that are not contain HTML references to Unicode characters that are not in the code page the writer is using.
The Unicode encoding is usually not in theory “needed” by computers but using it allows for much nicer output when the user wants it.