There's no mystery here. An image only has as many pixels as it has. When you place it in InDesign, you'll see two numbers in the Info panel (F8), "Actual ppi" and "Effective ppi."
The "Effective ppi" is the one you're interested in for print purposes. It is based on the number of pixels divided by the physical size on the page. A 600-pixel-wide image, if you fit it to a 2-inch-wide frame, will have an effective resolution of 300 ppi.
Here's where it can get confusing: if you Place an image simply by clicking on the page, it will come in at the size defined in its internal metadata (which InDesign refers to as "Actual ppi"). If the metadata says it's a 72 ppi image, and it's 288 pixels wide, clicking once on the page will give you a 4-inch wide image that won't be much use for print. If the metadata says it's a 300 ppi image, then that same 288 pixels will be less than an inch wide on the page after you click.
Images you get from Flickr or other online sources might have anything in that metadata, so the size they come in at on the page could be anything. Your own images are probably defined as 240 ppi internally, which is the default for most digital cameras.
The way to place images so you retain control over their size on the page is to click and drag so you define the frame. This still won't help you if the image doesn't have enough pixels to start with, but you have a great deal more control over the process.