What is the difference between Serializable, and System.Serializable?

What is the difference between Serializable, and System.Serializable?

I'm guessing SerializeField is only for attributes of a class. What is the difference between the above two, then?

Unless I'm mistaken, there is no difference - System.Serializable is just the fully qualified name of Serializable.
So, the Serializable attribute is declared/placed within the System namespace. When you say System.Serializable, you're just saying "get Serializable from System".
But if you have a using System; statement at the top, you can omit the namespace and just write Serializable; the compiler can then infer that it means System.Serializable, saving you a few keystrokes.