I've noticed that sometimes pictures from people I follow display in the timeline, and other times they don't and need to be "expanded".
How does the algorithm work to pick out which images to show teasers of and others just a link to?
This article has a decent explanation.
Here is the most relevant portion:
The change applies to Vine videos and pictures uploaded to Twitter, not to Instagram links (the company's relationship with Instagram having been rocky since last year). Last month, Twitter added larger, richer photos within embedded tweets, but your timeline of tweets remained untouched until now.
So, the images you see inline are ones that have been uploaded to Twitter or Vine versus just linking an imgur link or something similar.
The Twitter Help Section includes some information on this:
My Card doesn’t appear in the timeline.
Twitter Cards generated from developer meta tags only appear when a Tweet is either expanded in the timeline (on web) or viewed on the Tweet’s individual permalink page (by clicking on the date from the timeline, either on web or on mobile).
In limited circumstances, Cards may appear in the timeline, such as in images posted to Twitter, Ad formats and Twitter-run experiments.
Full text can be found here: https://dev.twitter.com/cards/troubleshooting#missing_text