Why is ECIES complex? Wouldn't encrypting a message with AES, then encrypting the (randomly generated) AES key and IV with the EC public key suffice?

What attack vectors does ECIES protect against, that an AES-then-EC-encrypt wouldn't?
Wouldn't encrypting a message with AES, then encrypting the (randomly
  generated) AES key and IV with the EC public key suffice?


Yes it would suffice and is what is usually done. However for this to work you'd have to have a way to reliably convert a random integer to a curve point and back which isn't trivially possible. And even if you could reliably encode the key to be a curve point you may be vulnerable to some attacks using collision properties resulting in a much smaller security margin than expected, much like encrypting "small" values with RSA.

This is why ECIES randomly chooses a curve point, encrypts this one and uses the secret point to derive keys.


  What attack vectors does ECIES protect against, that an AES-then-EC-encrypt wouldn't?


ECIES provides chosen ciphertext security meaning it provides security against most known attacks. Simple AES-then-EC-encrypt may not be secure against such attacks if you don't do authentication of the plaintext. If you'd use something like AES-GCM with the above mechanism to encapsulate the keys you're pretty much at ECIES although ECIES uses its KDF to derive the keystream and uses HMAC to authenticate the ciphertext.