Could be caused by
(1) Bad wireless card
or... these things that have to do with your network
(2) Distance from the router. Walls may weaken signal as well
(3) Interference from other sources - (Example: most cordless phones operate at 2.4GHz. Wireless internet modes may use 2.4GHz or 5 GHz. If you have other devices operating at the same frequency, there will be conflicts.)
(4) Wireless mode. If your router is set to 5GHz, speed will be very fast, however its range will be a lot shorter than if it was at 2.4.
I've personally found my wireless problems to be caused by #2 - #4.