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?