This probably one of the main topic of software developing, code revision is a quality assurance method, in which the software is checked by reading the main parts of the code, how does the code implements itself, there are some restrictions that must be fulfilled when doing a code revision that are:
- The reviewers must know what the software does
- At least one of the reviewers must not be the software author, this because he will try to understand what other people did
Usually the code reviewers must try to discover some of the quality requiremets that are
- Better code quality, improve the code’s quality by checking its redability, understability and uniformility
- Finding bugs, find the main problems of the software, where the software can’t keep doing its functions
- Learning, know the capabilities of the software and try to predict the software results
- Find better solutions, this part is one of the most important because in this one reviewers can come up with better solution for certaint problems in order to help the time and space complexity of the software
There are some different types of reviewing proccess
Formal inspection

This method involves careful and detailed execution withing multiple participants and phases, this is the most rudimental way of code review because a group of people join in place to check the code line by line, the pro of this method is that bugs are always easier to find because it is read line by line.
There is a document made at the end of the review that answers; who reviewed the code, when it happened, why was the reason of the review, which method did they checked, and the results of the revision, with this revision it is almost secure that something usefull about the code will be found.
Regular change-base
This is a more lightweight type of code review. This type uses something called Version Control, it is basically a system that records changes to a file or a set of files over the time. Github is one of the most popular applications that does this; the developers are constantly checking the changes made by every member of the team. They can see who is the responsible for the code and they can check it, but they do not dedicate the time to read it line by line.
Why code reviewing?

Code reviews require a considerable investment of effort from the software developers. Especially formal inspection has been criticized for this. The needed effort has to be outweighed by an adequate number of detected defects.
My own experience
Bugs, not compiling errors, other results from the ones expected are some of the problems that we usually face when developing a software, in these cases the only way to solve it quickly is to debug the code to see where the error appears, this method is kinda confusing and a little bit slow, so this is why the code review proccess came out, to find a proccess that could find the bugs, reviewing could save your project from death, you find everything about your code.