It's possible that this could happen just because there aren't any transactions to be mined. Early on in the bitcoin block chain, this was often the case. This could also happen if two blocks are solved on top of each other in a very short amount of time, with not much time for new transactions to be broadcasted in between. Today, however, more often than not this is due to a miner trying to get his/her block out to the rest of the peers on the network as soon as possible.
A miner would want to do this because bigger blocks take longer to propagate to the rest of the network. Nodes have to download and verify the validity of a block before they can relay them to their peers, because if they don't verify before sending and they send an invalid block, then their peers may ban them and the node will have no one to connect with on the network.
Think of it this way. If your block takes 50 seconds to get out to 90% of the peers on the network, and someone else mines a block 1 second later than you but can get their block out to 90% of the network in 9 seconds, who do you think will have the greater chance of getting their block accepted by more peers?
It may also be worthwhile to note that while this seems like it has a better pay off, it also sends a message to everyone on the network that the miner who mined the block doesn't really actually care about the bitcoin network's transactions, it just cares about its reward. And if the miners don't support the system, then why should investors or anyone else have confidence in it? I guess what I'm trying to say is that if a lot of miners did this, then the price of bitcoin would likely drop as it would show a lack of faith in the system.
There's a more mathematical analysis of orphan rates and payoffs here: http://organofcorti.blogspot.com/2013/10/161-network-orphaned-blocks-part-1.html\
In addition, it may interest you to know that there is a new proposal to enable faster propagation of blocks even if they are very large. See here for more info: https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2.
A different way of explaining this would be that, for a block to be accepted by the network, it has to be propagated out and checked by everyone. While blocks are spreading through the network, any miners who don't know about the new block will just keep mining on the block they have. In most cases, probably, this is just wasted work since there is already a block that is on it's way to being accepted. But if your block is much smaller (i.e. very few txs), then it gives other miners less time to solve a block while yours is propagating, and it also increases your chance that your block will get accepted by the majority of the miners even if someone else solved a block slightly before you.
To answer this question with a bit of data, I made a script that processed the last 1 month of blocks (4,464 blocks before and including block 338,782), and gathered data about the number of transactions in each block. These were the results.
From this data, it seems that roughly
- 1.3% of blocks are solved with just the reward transaction
- 1.6% of blocks are solved with fewer than 10 transactions.
# Transactions # Blocks with transaction count in MIN-MAX range
MIN MAX COUNT
0 9 73
10 19 31
20 29 22
30 39 74
40 49 52
50 59 43
60 69 107
70 79 50
80 89 41
90 99 56
100 109 55
110 119 50
120 129 86
130 139 46
140 149 54
150 159 57
160 169 51
170 179 62
180 189 49
190 199 53
200 209 46
210 219 45
220 229 64
230 239 42
240 249 45
250 259 69
260 269 58
270 279 39
280 289 41
290 299 41
300 309 44
310 319 45
320 329 37
330 339 35
340 349 45
350 359 42
360 369 40
370 379 42
380 389 41
390 399 37
400 409 48
410 419 47
420 429 42
430 439 40
440 449 40
450 459 46
460 469 42
470 479 32
480 489 33
490 499 40
500 509 38
510 519 68
520 529 44
530 539 28
540 549 32
550 559 28
560 569 35
570 579 27
580 589 29
590 599 28
600 609 19
610 619 31
620 629 20
630 639 27
640 649 38
650 659 28
660 669 27
670 679 25
680 689 18
690 699 21
700 709 27
710 719 28
720 729 23
730 739 25
740 749 25
750 759 19
760 769 21
770 779 24
780 789 27
790 799 23
800 809 16
810 819 18
820 829 19
830 839 18
840 849 16
850 859 19
860 869 20
870 879 16
880 889 18
890 899 16
900 909 24
910 919 24
920 929 14
930 939 18
940 949 20
950 959 12
960 969 13
970 979 15
980 989 15
990 999 21
1000 1009 15
1010 1019 15
1020 1029 18
1030 1039 14
1040 1049 13
1050 1059 13
1060 1069 9
1070 1079 16
1080 1089 16
1090 1099 8
1100 1109 17
1110 1119 10
1120 1129 12
1130 1139 8
1140 1149 8
1150 1159 22
1160 1169 10
1170 1179 14
1180 1189 17
1190 1199 10
1200 1209 11
1210 1219 14
1220 1229 9
1230 1239 9
1240 1249 12
1250 1259 9
1260 1269 8
1270 1279 7
1280 1289 7
1290 1299 9
1300 1309 8
1310 1319 12
1320 1329 8
1330 1339 7
1340 1349 12
1350 1359 10
1360 1369 13
1370 1379 10
1380 1389 10
1390 1399 9
1400 1409 10
1410 1419 8
1420 1429 14
1430 1439 10
1440 1449 6
1450 1459 6
1460 1469 6
1470 1479 9
1480 1489 7
1490 1499 4
1500 1509 5
1510 1519 8
1520 1529 5
1530 1539 12
1540 1549 3
1550 1559 7
1560 1569 8
1570 1579 3
1580 1589 7
1590 1599 2
1600 1609 12
1610 1619 5
1620 1629 10
1630 1639 3
1640 1649 4
1650 1659 5
1660 1669 6
1670 1679 5
1680 1689 3
1690 1699 5
1700 1709 2
1710 1719 1
1720 1729 10
1730 1739 4
1740 1749 5
1750 1759 4
1760 1769 4
1770 1779 2
1780 1789 3
1790 1799 6
1800 1809 3
1810 1819 2
1820 1829 4
1830 1839 5
1840 1849 4
1850 1859 3
1860 1869 3
1870 1879 3
1880 1889 5
1890 1899 3
1900 1909 3
1910 1919 4
1920 1929 1
1930 1939 0
1940 1949 3
1950 1959 0
1960 1969 0
1970 1979 3
1980 1989 2
1990 1999 2
2000 2009 3
2010 2019 3
2020 2029 3
2030 2039 3
2040 2049 7
2050 2059 3
2060 2069 1
2070 2079 4
2080 2089 2
2090 2099 1
2100 2109 1
2110 2119 3
2120 2129 2
2130 2139 2
2140 2149 4
2150 2159 1
2160 2169 2
2170 2179 1
2180 2189 2
2190 2199 3
2200 2209 0
2210 2219 0
2220 2229 1
2230 2239 0
2240 2249 3
2250 2259 0
2260 2269 1
2270 2279 2
2280 2289 1
2290 2299 3
2300 2309 0
2310 2319 1
2320 2329 0
2330 2339 1
2340 2349 1
2350 2359 1
2360 2369 1
2370 2379 1
2380 2389 0
2390 2399 0
2400 2409 1
2410 2419 1
2420 2429 1
2430 2439 0
2440 2449 0
2450 2459 0
2460 2469 1
2470 2479 0
2480 2489 0
2490 2499 2
2500 2509 0
2510 2519 0
2520 2529 1
2530 2539 2
2540 2549 2
2550 2559 1
2560 2569 0
2570 2579 1
2580 2589 1
2590 2599 0
2600 2609 0
2610 2619 0
2620 2629 0
2630 2639 0
2640 2649 2
2650 2659 0
2660 2669 0
2670 2679 0
2680 2689 0
2690 2699 0
2700 2709 0
2710 2719 0
2720 2729 0
2730 2739 0
2740 2749 0
2750 2759 0
2760 2769 0
2770 2779 0
2780 2789 0
2790 2799 0
2800 2809 0
2810 2819 1
2820 2829 0
2830 2839 0
2840 2849 0
2850 2859 1
2860 2869 0
2870 2879 0
2880 2889 0
2890 2899 0
2900 2909 0
2910 2919 0
2920 2929 0
2930 2939 0
2940 2949 0
2950 2959 0
2960 2969 0
2970 2979 0
2980 2989 0
2990 2999 0
3000 3009 0
3010 3019 0
3020 3029 0
3030 3039 1
3040 3049 0
3050 3059 0
3060 3069 0
3070 3079 0
3080 3089 0
3090 3099 0
3100 3109 0
3110 3119 0
3120 3129 0
3130 3139 1
The x-axis here (it may be hard to read) is the transaction range (each MIN-MAX pair in data above represents one column). The y-axis shows the number of blocks in the last month that had a transaction count within the range.