The simplest answer is that when we have some default behaviors that will be same for every derived class which would be inheriting from the base type then abstract class is suitable as we can define method with implementation that will be re-used by child classes too. While for interface we only define the signatures which means that it only tell what kind of behaviors it expects to be provided when some type is implementing it.
Note that in newer version of C#
we would be able to define methods with default implementation in interfaces too.
You can also refer to the following threads for more clarity:
Abstract Class versus Interface
Interfaces vs. abstract classes