the handling of bounds in the case of the use of ga is very well described here:
Essentially, ga ensures that the initial population complies with the restrictions on bounds. Another point is compliance with the restrictions over the term of the algorithm, if certain conditions are met.
To define them use for example:
lb = [-1 0 0 -inf];
ub = [Inf 1 1 0];
In the example above you have 4 decision variables x1...x4 which solutions are in the defined ranges of lb (1)...ub (1) for x1 and so on.
Determining meaningful bounds depends on the problem and requires insight into the problem. Possible limitations may arise from physical or economic considerations. if you have normalized decision variables, they will be between 0...1. You can not produce -5 cars, the optimal power can not exceed the maximum power that is possible with the used drive...
So the effect on improvement by using bounds is getting feasible solutions to a problem on the one hand. On the other hand it is reducing the search space, which helps the solver finding good solutions faster.