understanding tinyGPS++

aster94:
Does the ubloxRate sketch permanently change the baudrate, sentences and frequency?

No. If the GPS device is powered off, its settings return to the default values. I always recommend putting the configuration commands in setup so they are sent when the Arduino restarts. Assume that the GPS is running at 9600 and send the commands. Then switch the Arduino to the desired baud rate.

If the GPS was using the default settings because it was powered off (or replaced), setup will re-configure it to the new baud rate.

If the GPS was using the previous settings because it was not powered off, the configuration commands will be sent at the default baud rate and will be ignored.

This works in both cases, so it's safest. You can also use u-center to permanently save the configuration. But if you ever replace the GPS and forget to configure it, it won't work unless you send the configuration commands in setup. If someone else wants to try your sketch, it would be nice if the commands are in setup so they don't have to use u-center.

I studied the NMEA protocol and I'm going to use only RMC and GGA. Do you suggest using more sentences?

Decide which pieces of a fix you need, then use this table to choose the minimum number of sentences. Enable those pieces in GPSfix_cfg.h, enable those sentences in NMEAGPS_cfg.h, and enable those sentences in the GPS device by sending the configuration commands in setup.

Disabling other pieces makes the fix structure use less RAM.
Disabling other sentences makes the sketch use less program space and CPU time.
Disabling other sentences in the GPS device "reduces the number of characters that have to be processed by the Arduino and allows the baud rate to remain low", as I said above.