Photoshop really isn't the best choice for publishing tasks such as design of leaflets and posters. Sticking within the Adobe family if you have deep enough pockets, you could look at InDesign for page layout and Illustrator for vector artwork for figures and logos.
On the free and open source side of the divide, consider Inkscape for line drawings and Scribus for page layout.
Scribus is in many ways a better producer of high-quality PDF documents than any of the Adobe tools. It is a large and complicated tool that is really intended for high end publishing, but it will get the job done.
Your problem with things looking pixilated is almost certainly the result of the settings used for image compression when Photoshop transformed your page image into the bitmap image layer of a PDF page. I have never been happy with that approach, myself, because of the kinds of problems you are having.
When producing a PDF for print, you need to have all of your graphic elements sized so that layed out on paper, at least as many pixels are available in the image as on that much paper. At 300 dpi, a 2x3 inch photo must be at least 600x900 pixels. Depending on lots of other factors, it may be important that the image be sized to an integer multiple of the actual print resolution for best results. Depending on your print provider, you might also need to make sure that your illustrations use only in-gamut colors for the intended print process...
When producing a PDF for screen use, it is conventional to assume that screens are 72 or 96 dpi. Neither is precisely correct, but both are close enough to true for the average user. Note, also, that documents for use on screen should almost certainly be prepared in the SRGB color space, which is based on the colors available on an average uncalibrated RGB monitor. Avoid the temptation to use niche color spaces such as AdobeRGB, because they will only look right to the vanishingly small percentage of users that know about color workflow and have calibrated monitors. Incidentally, you have calibrated your monitor, right?