(Some parts of your question (ease of use, simplicity, etc.) are a bit subjective, and I will answer them at the end of this post.)
Look at the use of space. First, suppose you have a binary search tree with n nodes. What is the common use of space? Well, each node stores some data plus two pointers. You may also need some information to maintain balance information. This means that the overall use of space
n * (2 * sizeof (pointer) + sizeof (data) + sizeof (balance information))
So think of an equivalent skipist. You are absolutely right that the real amount of memory used by a skipist depends on the height of the nodes, but we can talk about the expected amount of space used by a skipist. As a rule, you select the node height in the skiplist, starting at 1, and then repeatedly flipping the fair coin, increasing the height while you turn the heads and stop as soon as you turn the tails. Given this setting, what is the expected number of pointers inside a skipist?
An interesting result of probability theory is that if you have a series of independent events with probability p, you need approximately 1 / p samples (in anticipation) before this event occurs. In our coin flipping example, we flip the coin until it appears on the tail, and since the coin is an honest coin (a head appears with a 50% probability), the expected number of tests required before we turn the tails, is 2. Since this last bounce ends the growth, the expected number of times a node grows in a skiplist is 1. Therefore, in anticipation, we expect the middle node to have only two pointers in it - one starting pointer and one pointer added. This means that the expected total use of space
n * (2 * sizeof (pointer) + sizeof (data))
Compare this to the size of the node in a balanced binary search tree. If a non-zero amount of space is required to store the balance information, the skipist will actually use (as expected) less memory than a balanced BST. Please note that many types of balanced BSTs (e.g. treap s) require a lot of balance information, while others ( red / black trees , AVL trees ) have balance information, but can hide this information in the low order bit of its pointers. while others ( splay trees ) do not have balance information at all. Therefore, this is not a guaranteed gain, but in many cases it will use space.
As for other questions about simplicity, lightness, etc., it really depends. I personally find that the code to search for an element in BST is much simpler than the code to search for in skiplist. However, the rotation logic in balanced BSTs is often significantly more complicated than the insert / delete logic in a skiplist; try to see if you can cross all the possible cases of rotation in a red / black tree without accessing the link, or see if you can remember all the cases of a zigzag / zag or zag / zag from the splay tree. In this sense, it may be a little easier to remember the logic to insert or remove from a skipist.
Hope this helps!