Mismatched bedside tables can make sense in smaller spaces when multipurpose pieces are in order. In a smaller bedroom, I sometimes use a bedside table on one side, and a sleek desk or a makeup vanity on the other side. I recommend 29" for the bedside table height. The GlucksteinHome Pinstripe Three-Drawer Nightstand has deco-inspired chrome accents has a high sheen dark mahogany finished veneers (27"w x 18"d x 28"h).
Personally the rule is that there is no rule. The process is so subjective and really depends on the individual project. If it were a sleek city home or condo then my inclination would be to create an orderly and symmetrical bedroom that highlights the bed as the focal point. If the project is more artisanal and unconventional (out of the box) then it is possible to "perfectly mismatch" tables. This is a statement and can be lots of fun if done properly. For example I would pair a very modern built in white parsons style shelf or open cube mounted on the wall with an antique table on the other side of the bed.
Another great way of doing this while still maintaining refined style is to have two different shaped tables with the same finish: stay away from painting them the same bright colour as it runs the risk of looking too cottage kitschy. Either way, my rule of thumb is that it provide some sort of closed storage. My pet peeve is clutter, especially in the bedroom. Drawers! Drawers! Drawers!
Height-wise, my rule is "no shorter than the mattress" if not a little higher, approximately 30-32" high, depending on your bed frame and mattress heights. My ideal is this Tansu 3-Drawer side table from Bungalow 5 (30"h x 18"w x 30"d).
I prefer vintage or antique bedside tables, which means matching usually is not an option. Often, I'll use a round table on one side with a square table on the other. They don't have to match, but they should be balanced in width and height. If one table is higher than the other, then the lamps should also be different heights so that the tops of the lampshades are at the same height. I'm religious about symmetry and balance, but I don't like being obvious about it.
The height should be within 2" of the mattress, higher or lower. My bedside table holds the things I access all night: iPhone, TV remotes, glasses, Chapstick, water. You have got to have easy access. I rarely buy new bedside tables, so it's a combo of flea markets, antique stores, and 1stdibs. If I can't find something just the right size, I'll either customize the ideal antique version in just the right size or do a round skirted table with a thick glass top.
I think you can have two complementary but different pieces as long as there is a relationship that unifies the whole setting. For example our principal bedroom in our city pied-à-terre has two different night stands. The bed is centered on the window leaving less space on one side than the other. On the left is a Regency drawer table, and the right has an oval regency style table. The unifying effect is that the table lamps are a matching pair, and they are the same height. I recommend 30"-32" as the best height for the bedside tables. Here are three tables by Alfonso Marina that are available through Celdon Collection. The chest can be paired with either of the two side tables to get the desired look.
I don't think bedside tables need to match, although they do need to be similar in style and colour. In terms of height, ideally you want them to line up with the top of the mattress, or close to it. We recently used this table from Hedge House (19"w x 17"d x 25"h) in oak that we really liked. I also love the look of the Saarinen Tulip side table next to a bed if you are disciplined and don't need lots of storage. It always looks lovely with a table lamp and a book or two on it.
1. GlucksteinHome Pinstripe Three-Drawer Nightstand
2. Tansu 3-Drawer side table from Bungalow 5
3. Photos courtesy Michelle R Smith, Studio MRS
4. Alfonso Marino tables through Celdon Collection
5. Oak table, Hedge House; Saarinen Tulip table by Design Within Reach