Because your ISP doesn't sell you 7Mbps, they sell you 'up to 7Mbps'.
The speed of your connection also depends on how high a quality the line is from your house to the ISP. For DSL users, you'll be connected to a telephone exchange, or similar - if you're further from the exchange, you will see decreased performance. If the DSL line is not properly filtered or suffers from excessive line noise, you'll also have problems.
Cable is also subject to line noise issues - but they are harder to troubleshoot, you need to talk to the provider.
Other things to consider:
Can the server you're downloading from - and all the links in between - support a sustained 7Mbps?
Is your router actually rated to handle speeds up to 7Mbits? If it's older, it might not. Consider a firmware upgrade, or a replacement. And just because your router is a gigabit router doesn't mean that it's interface to the internet (WAN port) is capable of the 7Mbits you should be getting.
Got a software firewall? These can interfere, because each packet is usually examined. That takes time - making transfers slower.
Also note that 7mbps is a shade under 700kB/second - you should ideally be seing transfer rates of about 680-700kB/sec (roughly)