Same dataset analysed with four different linear models I've analysed the same dataset (diamonds from ggplot2) in R with four linear models. Each model has a different error structure. To the statistically uninitiated, it might that each model has its merits: each appears to be explaining a decent proportion of variation, carat is a highly significant predictor in each model etc.
But I'm guessing most or all of these models are inappropriate to analyse these data. Could someone assess the merits and downfalls of each of these models:
library(ggplot2)

lm(price ~ carat, diamonds)

glm(price > 10000 ~ carat, family = "binomial", diamonds)

glm(price > 10000 ~ carat, family = "quasibinomial", diamonds)

glm(price ~ carat, family = "poisson", diamonds)

 A: A lot of this depends on what question(s) you are trying to answer.
The 3rd model with the quasibinomial family, I don't know what question it really answers.  Smarter people than me have spent more time than me trying to figure that out and have not worked it out yet (yes it gives an answer, but what does it mean?) so I tend to avoid the quasi families.
Model 2 is the logistic regression, it simplifies the data by just looking at if the value if greater than or less than 10000, in the process it throws out much of the detail and so may not give as much information.  It will treat a diamond with price 9999 exactly the same as one with price 1, but differently from one that is 10001 (even though that is only a difference of 2), but it will not be affected by nonlinearity in the carat/price relationship that could affect the linear model.  Which is really more important to you?
The final model with the poisson family is appropriate when the values of price are discrete (you can have a price of 1 or 2, but not 1.5 or other values between) and non-negative, which is probably the case here.  But for a Poisson with a large mean the distribution can be well approximated by a normal distribution, so you probably will not see a lot of difference between the linear model and the Poisson model unless the variability is much different.  The Poisson model (with default options) does posit a relationship between the mean and the variance and a certain form of non-linearity, so it could gain you there.
What is most important are the assumptions you are willing to make based on the science behind the data (not the data itself) and what questions your are trying to answer.
A: Just wanted to add a little to Greg's answer.
Poisson regression can absolutely be used for non-integer response values.  The thing about Poisson regression that makes it different from ordinary regression (least squares) is that it assumes that the variance of errors is equal to the conditional mean.  Thus, it is appropriate for a lot of count data where we expect this to be the case (# of points scored, # of birds sighted, etc.).  There are definitely situations where you might want to use Poisson regression on non-integer data.
In fact, this is probably a good example of such a case because homoskedastic errors are almost surely violated in the case of diamond prices.  As evidence, compare the residual plots for lm and Poisson regression:
plot(lm(price ~ carat, diamonds))
plot(glm(price ~ carat, family = "poisson", diamonds))

Also worth noting is that it seems that neither the price nor log(price) is really linear in carats.  You may want to look into gams.
