unity3d – What is the difference between adding a method() as the last statement in a update and using LateUpdate()?

I can’t understand the use case of the LateUpdate() here. If the LateUpdate() is called after the Update(), then what is the difference the below two set of codes:

First set of code

void Update(){
    <some code>
    <further code>
    a();
}
 
void a(){
    <some code for a>
}

Second set of code

void Update(){
    <some code>
    <further code>
}
 
void LateUpdate(){
    <some code for a>
}

Are both the codes above same or is there any difference/ benefits on using the LateUpdate() instead of just calling a method as the last statement of the update()?

Read more here: Source link