Hi Ioannis Dourvas,
Your overall understanding about the LMS and tracking is correct.
Now finally in your query you have already mentioned that "Standard" call SCORM.
AS you mention that you can make your own code to track the course and the user progress so what is the need of SCORM standard. So, lets understand that its a set of rule that help any course that complaint with this standard will be easily deployable on the LMS, Now LMS is also nothing but a server that allow us to upload course and have database of user and course to track and report its progress.
- A server can be a LMS only when it follow some rules to communicate with the content (course), and that set of rule is SCORM
- Every LMS exposes an API that has predefined set of function that helps the content(course) to talk to the server database to get and set the relevant information.
- Similarly course can only be a SCORM compliance when it also follow the same rule to communicate to the LMS
These 2 points helps any vendor or any LMS to communicate to each other, without bothering the backend machanism of the server.
If we develop our own mechanism then that will be specific to our own content (course) and helps it to communicate with the server's database.
I hope that I able to answer your queries here.