There are two similar things here: Emoticons, which are formed using punctuation, and emoji, which are characters.
Both of these are composed using a subset of Unicode characters. The former are traditionally made with ASCII but lately other kinds of emoticons using non-ascii have arisen. The proper display of these things depends, as always, on the reader's computer having the capability to display them. Some Emoji have widespread support and many do not. Example: Sumelic's comment has these emoji:
I can only see the first, second, and fourth. The third shows as a little square in Chrome on Windows 7. (On my Android phone they all appear, looking like the pictures posted in the original question).
We typically do not prohibit people from typing text.
However, we do edit things for tone and content. Thus, an appropriately used emoji or emoticon could actually improve a post. However, like excess punctuation or filler words or run-on sentences or other things, we edit them out when their removal improves the post. Also, if an emoji is widely unsupported, it might be better to replace it with an image, or just leave it out. If, for example, a segment of your post is meant to be humorous or ironic and you convey that using a winking emoji that nobody can see, you've just miscommunicated.