The two most important factors are transmit power of the and receive sensitivity of the devices. A client with a higher transmit power will be able to talk to an access point at greater distance and at a higher transmit speed. A better receive sensitivity allows the client to hear the access point from farther away. The same goes for access points the more power they have the greater the coverage area they will support. For comparison Engenius access points and clients have 200mW of transmit power while most Linksys products have less then 50mW.
How does an antenna affect the range of a Wi-Fi network?
Antenna design can also greatly affect the range. The antenna simply defines the network coverage area with its beam pattern. An omni directional antenna will cover the space around it more or less evenly spreading in all directions (light a open lightbulb). A highly directional antenna covers a narrow area but can travel very long distance (think of a focused flashlight). A semi directional antenna or yagi has a broader coverage at at medium distance (think of a wide beam flashlight).