First mortgages are typically structured such that your monthly payment is constant through the life of the loan. If you pay extra, you essentially trim payments from the end of the loan (instead of reducing payment amount).
If you want a lower payment, you can certainly refinance (get a new mortgage, use it to pay off your existing mortgage). However, in most cases, there are other factors than just your monthly payment at work. Most mortgages will carry some closing costs, in terms of fees paid to the bank and/or your local government. You need to consider if the advantages are worth payment of those fees. Also, in the US, most first mortgages are fixed rate - that means you lock in a rate when you close the loan, and you keep that rate for the life of the loan. So, if rates go up, you may want to avoid refinancing, because doing so would mean you are paying more in interest.
Also- most lenders in the US sell mortgages in fixed terms (typically 10, 15, 20, or 30 years). If you refinance frequently, and don't consider your term carefully, you may end up stretching out your repayment over a longer timeframe and paying more in interest than you realize (for example, if you refinanced every year with a new 30 year mortgage, you're resetting that 30 year schedule over and over!)
To answer your specific questions,
Is this the best way to lower a mortgage?
In the US, if you have a typical fixed rate mortgage, refinancing is the only way to change the monthly payments. Of course, you can always pay more and end up with a shorter term, but if your goal is lower monthly payments, you need to refinance.
How often should this be done?
As often as makes sense for your goals, given the variables mentioned above.
Should I do this repeatedly every year or how does this work?
Probably not! You'd almost certainly lose more in closing costs than you gained in savings by refinancing every single year. And, if rates were climbing, you'd end up significantly worse off by refinancing every year.
Do banks offer some kind of decreasing monthly payments by paying towards the principle in order to avoid always getting a new mortgage to pay off the previous?
No. As mentioned, typical mortgages feature a fixed payment for the life of the loan, which means you're paying a lot more interest at first, and you don't start really biting into principal until later in the loan's life. If you have a wad of cash, you can always pay it towards the principal directly, but that just shortens the effective term of the loan, it doesn't reduce payments. The only way to get a loan with the effect of payments that slowly reduce over time would be to create that scenario artificially yourself - say you have a mortgage with a monthly payment of $1,000. You could certainly start out by paying $2,000 a month for a year, and then $1,900 for a year, and so on - if you specified with your bank that you wanted the extra money applied to principal, you'd effectively shorten the term of the loan and reduce your overall interest payments.
In practice, the most common reason why people refinance a first mortgage in the US is because rates have fallen since they closed their current loan. This is because most people are mostly motivated by the overall cost of the loan (i.e. reducing the interest they pay) more so than by the monthly payment (regardless of how much is interest).