If you look at any natural language you will quickly find that its grammar is not completely regular. Almost any language will have some words that don't fit in to the usual pattern. Adding irregularities to your conlang is a must if you want it to feel more 'naturalistic'.
Types of irregularities
Despite their name, most kinds of irregularities can be classed into groups.
This is probably the most common cause of irregularities. Sound changes cause irregularities by changing a word differently depending on what form it is in. For example, if you have a noun ono and its plural is formed by suffixing a t to the end then you have a perfectly regular relationship.
ono > onot
However, if you make a sound change rule which states that o becomes u at the end of a word, then the relationship is no longer so obvious because the o changes into a u in the singular but doesn't in the plural because the o is no longer at the end of the word.
onu > onot
Using the right sound changes for your conlang is a good way of adding irregularity to it.
Suppletion is a slightly rarer phenomenon so if you decide to use it in your conlang then you should do so sparingly. But, of course, before you can use it, you need to know what it is:
Suppletion is when a completely separate word replaces one part of a paradigm. For example, the English word went is completely unrelated (etymologically speaking) to go. Went is actually the past tense of a mostly forgotten verb wend which means more or less the same thing as go. Because the verbs came to mean roughly the same thing, most people stopped using wend and used go instead. However, the past tense of wend survived and was used as the past tense of go.
Thus instead of the paradigm go/goes, is going, "goed" (ging), has/have gone, we now have go/goes, is going, went, has/have gone. Suppletion also affected the English verb to be (am/is/are, am/is/are being, was/were, has/have been).