"Which is more secure" is not the best question to ask. All of them are sufficiently secure as long as:
- They are implemented and used correctly;
- They're used with a sufficiently large key size.
ECDSA and Ed25519 are based on elliptic curves. Their advantage is that they can achieve the same security target with shorter keys than RSA requires, which translates to better performance. 256-bit elliptic curve keys are generally understood to provide similar security to 128-bit symmetric ciphers like AES-128. With RSA, 2,048-bit keys are considered the current minimum safe key size, providing something like 112-bit security (which no less secure in practice than 128-bit security).
The KeyLength site has various recommendations for key size for these algorithms.
Ed25519 is newer than ECDSA. Its main advantages are speed, simplicity and foolproofing: both are secure if used correctly, but ECDSA is harder to use correctly. The most famous ECDSA failure is the Sony PS3 signature bug, which was caused because Sony's programmers implemented ECDSA incorrectly. Ed25519 is not vulnerable to the mistake Sony's programmers made, nor to some other "gotchas" that ECDSA implementations are.
So Ed25519 is widely held to be the best of the three, because it provides:
- Sufficient security for the near future. (All three will be toast if a practical quantum computer is built.)
- Very good foolproofing—less vulnerable to programmer and user mistakes;
- Smaller keys and very fast performance.
...but none of these factors should stop you from using ECDSA or RSA if, for example, you're using a system where one of these is available but Ed25519 isn't. Likewise if you have a system that uses RSA or ECDSA, it probably doesn't make sense to upgrade it to Ed25519. Also RSA and ECDSA has NIST and NSA approval and Ed25519 doesn't, so if that matters to you then Ed25519 is out.