seed value matters only when you have defined some variable as rand [specific to system verilog] or field getting its value from $urandom types of functions.
the simulaters assign value to such variables on the solving the random value generator [which is internal function of simulator]. Thus when you run a testcase wtih different seed it actually assign different values to your field. like
bit [4:0] addr -> will always have value of '0' what ever may be the seed
and for rand bit [4:0] addr -> will have different value as per seed, and it will always give same value with same seed.
so now in your case with different seed, different value will be feeded to RTL and may be RTL has bug with that particular stimulus.
you can run with n number of seed values. We never say we have covered this much of seeds, its coverage that defines the requirement of running the same testcase with different different seeds
Hope this description help you
Best of luck