A class is the definition and you can create many instances of them, just like classes in any other language. An object is the instance of the class, a singleton, and can be used to create features you might recognise as static methods.
Often when writing Scala you'll define a class and then create a backing object where you might create things like factory methods. One example might be that you have a class and want to be able to create an instance from a string value. In this case you would create an object with a "from" function that takes a string, and returns a new instance of the class.
myVal: MyClass = MyClass.from("some value")