The slope of a vector bundle E is defined as mu(E) = deg(E)/rank(E). Then a vector bundle E is called semistable if mu(E') ≤ mu(E) for all proper sub-bundles E'. It is called stable if mu(E') < mu(E).
I've heard that moduli spaces of stable and semistable vector bundles are somehow well-behaved, but I don't know why this is, nor do I know exactly what well-behaved should mean in this context. What goes wrong if we try to consider moduli of more general vector bundles? Moreover the definitions of slope and (semi)stable seem a bit artificial -- where do they come from?
I've also only seen the above definitions made in the context of vector bundles over curves. Why just curves? Does something stop working in higher dimensions or in greater generality?