A contra account can be either contra asset or contra liability account.
Contra asset account means that although an account is under assets, contra account balances are credit balances.
Contra liabilities account means that although the account is under liabilities, account balances are debit balances.
Most common example is a accumulated depreciation account. This account shows accumulated erosion of asset value.
A vehicle is purchased for $20,000 useful life is 5 years and straight line depreciation is determined to be $4,000 per year.
If we were to look in year 2 at the balance sheet of the company, we would see that a company has a vehicle valued at $20,000. However, after two years in service we cannot reasonably expect the value of a vehicle to be the same as when it was first acquired. We would have to look at accumulated depreciation account to determine net book value of an asset.
Accumulated depreciation in year two would show a credit balance of $8,000 ($4,000*2). $20,000 less $8,000 gives us a net book value of $12,000 for an asset.