Can I obtain more information about GenerateGeodatabaseParameters object's extension property? Can we say that we can editing only in within geometry area ?
By extension property, do you mean extent property? When you generate a geodatabase from the server, and specify the extent in the parameters, that does 2 things- first, it only retrieves the features within that extent and puts those into the local gdb. Second, it restricts editing to that extent, so even if your user were add a feature outside of the extent, or try to update a feature's geometry to be outside of the geodatabase extent, it would not be successfully added back to the server once the sync happens. Take a look at the Local geodatabase editing sample in the QML Sample App. If you zoom into some specific area and generate, notice that if you zoom out, the features outside the extent are not visible. Select a feature and attempt to move it outside of the extent, and it will not work.
Hope this helps.
Are there any advantages for user ?
I'm not sure that I follow- advantages for the user compared to what? When you edit features, you will either be working with the GeodatabaseFeatureTable (which is offline and takes in a geodatabase) or the GeodatabaseFeatureServiceTable (which is online and takes in a service url). When you generate an offline geodatabase from server, you will switch from GeodatabaseFeatuerServiceTable to GeodatabaseFeatureTable. The API for both scenarios should be nearly identical.
Retrieving data ...