Every state in the US except North Carolina allows a regular citizen to make an arrest if they see somebody committing a felony. In North Carolina a citizen can detain a suspect who is committing a felony, but they don't have the right to transport the person without consent. For this reason it is not technically considered a "citizen's arrest" in North Carolina.
Your liability could be both civil and criminal. This means that you could face jail time, fines, restitution and more. For this reason you should always let the police handle the situation if that is an option.
Must be a felony
Make sure you understand the situation
Again, because of your personal liability you should only use a citizen's arrest as a very last resort.
The important elements to remember when performing a citizen's arrest is that you must tell them that you are performing the arrest and you must notify law enforcement immediately (again, you should do this before apprehending the suspect if at all possible). You can just call 911.
Also, you should never transport the suspect unless you absolutely have to. If you attempt to drive the suspect to jail, for instance, and the suspect jumps out of the car you might be liable for any injuries they sustain. It is best to just detail the suspect and wait until the police arrive.
Become law enforcement